0

我有以下方法。我需要按方法返回 var tynames 那么该方法的返回类型是什么List<string>或其他什么以及FirstOrDefault().

提前感谢您的回复

public static List<string> AppType()
{
    var context = new Dll_IssueTracking.IssuTrackingEntities();// Object context defined in Dll_IssuTracking DLL

    var query = from c in context.ApplicationTypes//Query to find TypeNames
                select new { c.TypeName };
    var **TypeNames** = query.FirstOrDefault();
}
4

3 回答 3

1

FirstOrDefault如果查询没有返回结果,则返回找到的第一个元素,或者返回默认值(在这种情况下为 null)。在这种情况下,方法的返回值应该是ApplicationType

public static ApplicationType AppType()   
{
    var context = new Dll_IssueTracking.IssuTrackingEntities(); // Object context defined in Dll_IssuTracking DLL

    var query = from c in context.ApplicationTypes //Query to find TypeNames
                    select new { c.TypeName };
    return query.FirstOrDefault();
}
于 2012-08-26T16:30:27.557 回答
0

FirstOrDefault返回序列中的第一个元素,在此示例中 ApplicationTypes 是您的序列,如果序列不包含任何元素,则为默认值。

于 2012-08-26T16:29:30.793 回答
0

FirstOrDefault是一个扩展方法,看起来像这样:

public T FirstOrDefault>T>(this IEnumerable<T> query)
{
    return query.Any() ? query.First() : default(T);
}

因此,如果它不为空,则返回序列中的第一个元素,如果序列为空,则返回类型的默认值。

例如,如果您有Enumerable<LinqEntity>,那么很可能default(LinqEntity)null。如果你有类似的东西,Enumerable<int>default(int)就是0。

于 2012-08-26T16:35:55.687 回答