好的,所以我是c#的新手,所以请耐心等待我!
此代码在某种程度上有效:
if (rng.Value != null)
{
string cellValue = rng.Value.ToString();
}
else
{
string cellValue = "Null";
}
switch (cCnt)
{
case 1:
因此,这将逐个单元格从Excel工作表中获取值,并将其放入cellValue中,除非它是空的。
当我在调试中逐步执行它直到它到达开关时,一切都很好,当cellValue的值每次都设置为0时,即使有有效数据也是如此。我做错了什么?
答案 0 :(得分:3)
您在此处遗漏的概念称为范围。
cellValue
变量在if
和else
块内声明,这意味着它在到达switch
块时已超出范围。您希望在if
块之上声明该变量,因此它将具有更大的范围。
string cellValue = "Null";
if (rng.Value != null)
{
cellValue = rng.Value.ToString();
}
switch (cCnt)
{
case 1:
答案 1 :(得分:1)
您的声明在if
区块内。改为:
string cellValue = string.Empty;
if (rng.Value != null)
{
cellValue = rng.Value.ToString();
}
else
{
cellValue = "Null";
}
switch (cCnt)
{
case 1: