मेरे पास यह कोड मेरे सी # में है, मैं इसे 1 लाइन लिंक स्टेटमेंट में कैसे सारांशित कर सकता हूं?

        if (UpdatedUser.ModifiedById != 0)
        {
             UpdatedUser = await DbContext.Users.FirstOrDefaultAsync(x => x.Id == UpdatedUser.ModifiedById);
        }
        else
        {
             UpdatedUser = await DbContext.Users.FirstOrDefaultAsync(x => x.Id == UpdatedUser.CreatedById);
        }
-2
Alma 27 अक्टूबर 2020, 23:13

2 जवाब

सबसे बढ़िया उत्तर

मैं लुकअप में उपयोग करने के लिए मान निर्दिष्ट करने के लिए स्थानीय चर का उपयोग करूंगा

var lookupId = UpdatedUser.ModifiedById != 0
    ? UpdatedUser.ModifiedById
    : UpdatedUser.CreatedById;
UpdatedUser = await DbContext.Users.FirstOrDefaultAsync(x => x.Id == lookupId);
2
juharr 27 अक्टूबर 2020, 23:39
UpdatedUser = await DbContext.Users.FirstOrDefaultAsync(x => (UpdatedUser.ModifiedById != 0)?
    (x.Id == UpdatedUser.ModifiedById) :
    (x.Id == UpdatedUser.CreatedById) );

मैंने यह पता लगाने के लिए एक टर्नरी ऑपरेटर (? :) का उपयोग किया कि क्या ModifiedById गैर-शून्य था, और उसके साथ लैम्ब्डा फ़ंक्शन को बदलें।

1
abelenky 27 अक्टूबर 2020, 23:16