Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从类模式中选择一个字段_C# - Fatal编程技术网

C# 从类模式中选择一个字段

C# 从类模式中选择一个字段,c#,C#,到目前为止,在我的C程序中对LINQ的大多数调用 var SomeCollection = OriginalCollection.Select( x => x.Surname ); 有没有聪明的方法使它更简洁?类似或更好: var SomeCollection = OriginalCollection.Select( ^.Surname ); 当然有很多这样的行,lambda可以隐式地出现在上面的调用中,参数名设置为一些默认字符。或者更奇怪的事情,比如OriginalCollectio

到目前为止,在我的C程序中对LINQ的大多数调用

var SomeCollection = OriginalCollection.Select( x => x.Surname );
有没有聪明的方法使它更简洁?类似或更好:

var SomeCollection = OriginalCollection.Select( ^.Surname );

当然有很多这样的行,lambda可以隐式地出现在上面的调用中,参数名设置为一些默认字符。或者更奇怪的事情,比如OriginalCollection.姓氏。

是的,不喜欢你的建议,但是如果你有很多建议,你可能会喜欢使用


x=>x.property语法没有问题。在其他语言(如ES6/Typescript)中也是如此。进一步速记没有多大意义,只能保存1-2个字符?。不管怎么说,你的重构思想不应该去哪里。相反,从更高的层次思考,并尝试保存语句,而不是字符。如果你不得不一遍又一遍地写同样的代码,停下来想想,可能有更好的方法。例如,如果在5个位置重复1行,则可能不好,但在5个位置重复10行的块则更糟糕


在理想的应用程序中,每个代码应该重复一次。更多的重复-更难维持,更难改变。更少的重复-更复杂的体系结构,更容易更改,但需要更多的高级开发人员。通常是关于两者之间的平衡。有一个非常简单的目标——能够按时、按预算交付业务需求。

您正在寻找类似的产品吗?动态选择非常接近我想要的。遗憾的是,它不能自动完成输入。
var queryLondonCustomers3 =
    from cust in customers
    where cust.City == "London"
    orderby cust.Name ascending
    select cust;
var SomeCollection = from x in OriginalCollection select x.Surname;