我有一个数据集,我试图将数据集的所有ID都放入数据行,最后将其保存在一个int数组中.它不适合我.它说"Cannot implicitly convert from type int to int[]"
Dataset ds = new BusinessLogic().Getsamples(MerchantID);
Datarow dr = ds.Tables[0].Rows[0];
int[] SampleID = Convert.ToInt32(dr["Id"]);
Run Code Online (Sandbox Code Playgroud)
提前致谢..
你必须创建一个新的int数组并将int放在那里.
int sampleID = new int[1];
sampleID[0] = Convert.ToInt32(dr["Id"]);
Run Code Online (Sandbox Code Playgroud)
我认为这个简写也适用:
int[] SampleID = new int[]{Convert.ToInt32(dr["Id"])};
Run Code Online (Sandbox Code Playgroud)
嗯,是.看看这一行:
int[] SampleID = Convert.ToInt32(dr["Id"]);
Run Code Online (Sandbox Code Playgroud)
右侧是int(结果Convert.ToInt32),但您正在尝试将其转换为数组.
如果你想要所有的ID,我建议你创建一个List<int>并遍历行,调用list.Add(Convert.ToInt32(dr["Id"])每一行,然后ToArray()如果你真的需要,最后调用.
或者,使用LINQ - 类似于:
int[] ids = ds.Tables[0].AsEnumerable()
.Select(dr => dr.Field<int>("Id"))
.ToArray();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6486 次 |
| 最近记录: |