传递一个列表<{Anon:string}>到 C# 中的函数
给定:
一个 linq 表达式,它返回匿名类型,其中一个字段是字符串:
var list = new List<MyClass>();
var myStringList = (from myClass in list
select new {myClass.StringField}).ToList();
var processedStrings = processStrings(myStringList);
以及一个我将 List
传递给的函数:
List<string> processStrings(List<string> stringsToProcess) {}
问题:< /strong>
传递 myStringList
时出现以下编译器错误:
ArgumentType type 'System.Collections.Generic.List<{StringField:string}>'不可分配给参数类型 'System.Collections.Generic.List
所以我尝试使用 .Cast
来修复此问题,这消除了编译器错误,但抛出一个例外是它不能将匿名字符串转换为字符串。
有什么想法不需要手动处理每个字符串吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试不返回带有一个字符串的匿名对象,而是返回字符串本身:
try do not return anonymous object with one string but string itself:
为什么不呢
Why not
“new {myClass.StringField}”创建具有字符串属性的匿名类型...
您应该尝试:
The "new {myClass.StringField}" creates an anonymous type with a string property...
You should try: