使用Linq (LinqPad)获取数组值
本文关键字:获取 数组 LinqPad Linq 使用 | 更新日期: 2023-09-27 18:09:13
我有以下数组和Linq语句。我可以用Linq获得字段名,但是我如何检索字段值?(在LinqPad)
var source = new[] {
new { FirstName = "Foo", SurName = "Bar", Password = "secret" },
};
var membersToInclude =
source
.First()
.GetType()
.GetProperties()
.Where(x => x.Name != "Password")
.Select(x => x.Name)
.ToArray();
foreach (var m in membersToInclude)
{
m.Dump();
}
Dump()只显示单词——FirstName,姓氏——如何获得Foo和Bar值?
当我在它(好吧,我问2个问题在一个帖子-但是....它们都是linq -LinqPad相关的)如何使用linq(好吧,LinqPad)获得字符串长度
from w in Albums.Take(5)
select new
{
w1 = w.AlbumArtUrl.Substring(1,5),
w2 = w.AlbumArtUrl.Length
}
子字符串函数工作得很好,但是当我试图获得长度时,LinqPad给我这个消息
函数指定的参数值无效。[参数# = 1,函数名(如果已知)= LEN]
我试过使用len, len,…如何获得字符串长度值?
选择的只是属性名。您需要将它应用到对象以获取值。这应该给你一个想法:
var source = new[] {
new { FirstName = "Foo", SurName = "Bar", Password = "secret" },
};
var membersToInclude =
source
.First()
.GetType()
.GetProperties()
.Where(x => x.Name != "Password")
.Select(x =>
{
var value = x.GetValue(source.First());
return new {x.Name, value};
})
.ToArray();
foreach (var m in membersToInclude)
{
m.Dump();
}