Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.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#_List_C# 4.0 - Fatal编程技术网

C# 如何向列表中添加列<&燃气轮机;在运行时

C# 如何向列表中添加列<&燃气轮机;在运行时,c#,list,c#-4.0,C#,List,C# 4.0,在上面的代码片段中,missionIdList的类型为List,sqlreader返回n行3列 如何将其值来自.NET变量的第四列(uniqueidentifier-.NET Guid类型)添加到列表中 我想从sqlreader中获取3列,为返回的每一行添加第四列,并以包含4列的missionIdListList结束 还要注意,sqlreader返回的所有列都是整数,但我要添加的第四列是.NET Guid,您可能需要使用匿名类型。 您的代码应该如下所示 while (sqlreader.Read

在上面的代码片段中,missionIdList的类型为
List
,sqlreader返回n行3列

如何将其值来自.NET变量的第四列(uniqueidentifier-.NET Guid类型)添加到列表中

我想从sqlreader中获取3列,为返回的每一行添加第四列,并以包含4列的missionIdList
List
结束


还要注意,sqlreader返回的所有列都是整数,但我要添加的第四列是.NET Guid,您可能需要使用匿名类型。 您的代码应该如下所示

while (sqlreader.Read())
{
   missionIdList.Add(Convert.ToInt32(sqlreader[0].ToString()));
}
var missionIdList=newlist();
while(sqlreader.Read())
{
var obj=new{c1=Convert.ToInt32(sqlreader[0].ToString()),
c2=Convert.ToInt32(sqlreader[1].ToString()),
c3=Convert.ToInt32(sqlreader[2].ToString()),
uid=uid};
任务列表添加(obj);
}

但是,如果您不需要从运行时添加它(因为您知道您将收到什么),您只需在使用之前构建类并将它们添加到您的列表中。哪一种是正确且首选的方法。

您是否尝试在sql查询中添加此列?@SonerGönül,该列不在数据库中,它是从.NET变量中获取的。您想要的列表?如果您定义了列表,则无法放置Guid,为什么不是字符串?我不明白这个问题。创建一个真正的类可能比创建一个匿名类要好得多。否则,除非使用
dynamic
关键字,否则无法从列表中取出对象。
var missionIdList = new List<object>();

while (sqlreader.Read())
{
   var obj = new { c1 = Convert.ToInt32(sqlreader[0].ToString()), 
                   c2 = Convert.ToInt32(sqlreader[1].ToString()),
                   c3 = Convert.ToInt32(sqlreader[2].ToString()),
                   uid = uid };
   missionIdList.Add(obj);
}