C# 将linq结果指定给对象变量,然后从该对象变量获取值
我遇到一种情况,需要将C# 将linq结果指定给对象变量,然后从该对象变量获取值,c#,winforms,linq,C#,Winforms,Linq,我遇到一种情况,需要将LINQ结果分配给按钮.Tag属性。 当该按钮单击时,在按钮.Tag中放置的LINQ结果中迭代 提示:LINQ结果是列表的类型。由于某些原因,我不知道返回什么列表 有什么想法吗? EDIT:正如大家所建议的,我重新考虑了这个问题,决定创建一个特定的类类型,并将DataTableRowId放在类中,而不是整个DataTableRow东西。 因此,像new{Class1=c1,Class2=c2,DataTableRow3=dr3}这样的匿名类型更改为 类型的类别: publi
LINQ结果
分配给按钮.Tag
属性。
当该按钮单击时,在按钮.Tag中放置的LINQ结果
中迭代
提示:LINQ结果是列表的类型。由于某些原因,我不知道返回什么列表
有什么想法吗?
EDIT:正如大家所建议的,我重新考虑了这个问题,决定创建一个特定的类类型,并将DataTableRowId
放在类中,而不是整个DataTableRow
东西。
因此,像new{Class1=c1,Class2=c2,DataTableRow3=dr3}这样的匿名类型更改为
类型的类别:
public class CustomClass
{
public Class1 c1 { get; set; }
public Class c2 { get; set; }
public int DataTableRow3Id dr3 { get; set; }
}
您不能通过这种方式访问匿名类型,您可以创建一个自定义类并创建该自定义类型的linq结果。将此对象指定给标记,然后将其类型转换回您的自定义类型。您所说的“出于某种原因”是什么意思?这显然是您可以向我们解释的信息……所以dynamic不适合您?@Jon Skeet createdanonymousType
是一些常见类和一行特定类的组合DataTable@Rzassar:那么,为什么这意味着您不想为结果创建类型?基本上,您没有说明为什么必须在这里使用匿名类型。@MEYWD:我不知道这里涉及的是内部.NET Framework UI类型,也不认为有必要使用动态
。OP可以使用动态
,但我怀疑创建一个特定类型来封装结果会更干净。