并非所有代码路径都返回值

Pri*_*tel 0 c# asp.net linq-to-sql

我正在从此Linq To SQL查询中获取客户类别database.CustCategory将已经定义.这是查询.

public IList<string> GetAccountType()
        {
            using (var db = new DataClasses1DataContext())
            {
                var  acctype = db.mem_types.Select(account=>account.CustCategory).Distinct().ToList();
                if (acctype != null)
                {
                    return acctype;
                }
            }

        }
Run Code Online (Sandbox Code Playgroud)

目前我收到一个错误,Not all code paths return a value.如果我总是确定数据库中有值,那么我是否需要检查null,如果我需要检查,null那我该如何处理.谁能帮我这个.欢迎任何建议.

Hei*_*nzi 8

由于Enumerable.ToList永不返回null(请参阅文档的" 返回值"部分),您可以安全地删除.if

编辑:请注意,无论您的数据库包含什么,acctype不会为null:

  • 如果数据库中未找到任何值,则返回值将为空列表(与列表不同null).
  • 如果找到一条记录且其值为null,则返回值将是包含一个条目的有效列表,其值为null.不过,名单本身并非如此 null.