繁体   English   中英

将linq查询转换为字符串数组 - C#

[英]Convert linq query to string array - C#

将单列linq查询转换为字符串数组的最有效方法是什么?

private string[] WordList()
    {
        DataContext db = new DataContext();

        var list = from x in db.Words
                   orderby x.Word ascending
                   select new { x.Word };

       // return string array here
    }

注 - x.Word是一个字符串

我更喜欢lambda风格,你真的应该处理你的数据上下文。

private string[] WordList()
{
    using (DataContext db = new DataContext())
    {
       return db.Words.Select( x => x.Word ).OrderBy( x => x ).ToArray();
    }
}

怎么样:

return list.ToArray();

这假设x.Word实际上是一个字符串。

否则你可以尝试:

return list.Select(x => x.ToString()).ToArray();

如果您使用Lambda语法键入它,则可以使用ToArray方法更轻松地执行此操作:

string[] list = db.Words.OrderBy(w=> w.Word).Select(w => w.Word).ToArray();

甚至更短:

return db.Words.OrderBy(w => w.Word).Select(w => w.Word).ToArray();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM