gpt4 book ai didi

c# - 何时使用表达式

转载 作者:太空宇宙 更新时间:2023-11-03 20:30:42 26 4
gpt4 key购买 nike

我正在尝试确定使用什么......

我需要通过 IEnumerable<TSource>到将实体成员的值写入文件的函数。这是 IEnumerable 的样子:

var persons = new[] {
new Person {
RecordID = 0,
PersonFName = "Joe",
PersonMName = "",
PersonLName = "Smith",
PersonZip="75227"
},
new Person {
RecordID = 1,
PersonFName = "Mary",
PersonMName = "Hada",
PersonLName = "Lamb",
PersonZip="75217"
}};

将 IEnumerable 传递给读取每个实体以便我可以读取每个字段值的函数的最佳方法是什么?

我在想我会使用类似的东西:

void WriteData<TSource>(Expression<IEnumerable<Person>> expression)
{
// do stuff
}

我找不到解释如何确定何时应使用表达式而不是仅传递 IEnumerable 的资源。然后,如何创建反射(reflect) persons 的表达式?

理想情况下,我会这样调用 WriteData:

WriteData(persons); 

我的方向是否正确?

最佳答案

我认为没有理由在那里使用表达式树。如果您只想通过反射获取所有属性,我建议您这样做 - 虽然表达式树不会真正帮助您做到这一点。

请注意,很少在 Expression 之间进行选择和 IEnumerable<T> - 它通常在表达式树和委托(delegate)之间,或者在 IEnumerable<T> 之间和 IQueryable<T> .

关于c# - 何时使用表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7729425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com