C# 将单元格行添加到int数组

C# 将单元格行添加到int数组,c#,C#,我当前正在尝试将单元格行添加到int数组中。谁能给我指一下正确的方向吗?我可以将它添加到字符串数组中,如下所示,但我真的很难使用int数组 非常感谢你的帮助 DriverNames[z] = row.Cells[0].Value != null ? row.Cells[0].Value.ToString() : string.Empty; 整数数组: FinishTime1 = new int[dataGridView1.Rows.Count] ,应该从字符串中执行此操作 如果值是十进制请尝

我当前正在尝试将单元格行添加到int数组中。谁能给我指一下正确的方向吗?我可以将它添加到字符串数组中,如下所示,但我真的很难使用int数组

非常感谢你的帮助

DriverNames[z] = row.Cells[0].Value != null ? row.Cells[0].Value.ToString() : string.Empty;
整数数组:

FinishTime1 = new int[dataGridView1.Rows.Count]
,应该从字符串中执行此操作

如果
十进制
请尝试以下操作:

(int)System.ComponentModel.TypeDescriptor.GetConverter(dec).ConvertTo(dec, typeof(int));
,应该从字符串中执行此操作

如果
十进制
请尝试以下操作:

(int)System.ComponentModel.TypeDescriptor.GetConverter(dec).ConvertTo(dec, typeof(int));
试一试

若零是有效项,那个么数组应该可以为null,这样我们就可以在该数组中插入null值,然后表达式变为空

int?[] DriverNames = new int?[dataGridView1.Rows.Count];
DriverNames[z] = row.Cells[0].Value != null 
    ? Convert.ToInt32(row.Cells[0].Value.ToString()) 
    : (int?)null;
试一试

若零是有效项,那个么数组应该可以为null,这样我们就可以在该数组中插入null值,然后表达式变为空

int?[] DriverNames = new int?[dataGridView1.Rows.Count];
DriverNames[z] = row.Cells[0].Value != null 
    ? Convert.ToInt32(row.Cells[0].Value.ToString()) 
    : (int?)null;
也许是这个

DriverNames[z] = row.Cells[0].Value != null ? int.Parse(row.Cells[0].Value.ToString()) : 0;
也许是这个

DriverNames[z] = row.Cells[0].Value != null ? int.Parse(row.Cells[0].Value.ToString()) : 0;


使用int.parse或Convert.ToInt32(row.Cells[0].Value.ToString())如果该值为null,
int.MinValue
,0或其他什么,您想使用什么?使用int.parse或Convert.ToInt32(row.Cells[0].Value.ToString())如果该值为null,
int.MinValue
,0或其他什么?
字符串中的
为空
?如果零是有效值怎么办?如何区分它们呢?那么你的数组应该是可以为null的,如果单元格的值为null,那么就添加null。这不是我的问题。但是你应该更新你的答案,而不是评论它,因为它是一个重要的信息。
int?[]DriverNames=newint?[10];驱动程序名称[0]=1==1?int.Parse(“1”):null
这将不会编译,因为
int.Parse(“1”)
null
必须是相同的类型,或者它们必须可以隐式地相互转换。这是条件运算符的规则。因此,您需要将
null
强制转换为
int?
或使用
if-else
(顺便说一句,我也在使用VS2010)。
String.Empty
int[]
中?如果零是有效值怎么办?如何区分它们呢?那么你的数组应该是可以为null的,如果单元格的值为null,那么就添加null。这不是我的问题。但是你应该更新你的答案,而不是评论它,因为它是一个重要的信息。
int?[]DriverNames=newint?[10];驱动程序名称[0]=1==1?int.Parse(“1”):null
这将不会编译,因为
int.Parse(“1”)
null
必须是相同的类型,或者它们必须可以隐式地相互转换。这是条件运算符的规则。因此,您需要将
null
强制转换为
int?
或使用
if-else
(顺便说一句,我也在使用VS2010)。@Telexx我担心这一个对于任何非整数值都会崩溃。例如,5.5。只有在不影响可靠性的情况下,您才应该减少代码的长度。只有在此处传递整数值。它从DB中查看时间戳的小时部分。@Telexx OK,然后。我只是想澄清一下这个问题。@Telexx恐怕这个问题对于任何非整数值都会崩溃。例如,5.5。只有在不影响可靠性的情况下,您才应该减少代码的长度。只有在此处传递整数值。它从DB中查看时间戳的小时部分。@Telexx OK,然后。只是想澄清一下这个问题。