C#-如果变量为null,请跳至下一个变量和方法,以继续执行程序

时间:2019-01-23 10:44:12

标签: c# linq

我正在解决排球问题。在排球运动中,每场比赛有五套。

string[] arrMatchSummary = fromDict.matchsummary.SafeSplit(' ');
string firstSet = arrMatchSummary[0];
string firstSetResult = firstSet.Replace('-', ':');
string secondSet = arrMatchSummary[1];
string secondSetResult = secondSet.Replace('-', ':');
string thirdSet = arrMatchSummary[2];
string thirdSetResult = thirdSet.Replace('-', ':');
string fourthSet = arrMatchSummary[3];
string fourthSetResult = fourthSet.Replace('-', ':');

在arrMatchSummary中,我有5个数组,例如“ 25:18”等。

当比赛尚未开始时,此行显示索引超出范围:

string secondSet = arrMatchSummary[1];

因为,当它不启动时,就没有第二组了。

我的问题是:

一切都在代码中工作,如何跳过该索引超出范围并继续运行,以便程序可以工作?

谢谢。

3 个答案:

答案 0 :(得分:0)

使用If块检查变量,如果变量的null或empty简单不执行任何操作。

答案 1 :(得分:0)

为什么不使用LINQ?

fromDict.matchsummary.SafeSplit(' ')
  .Select(r => r.Replace('-',':'))
  .ToArray();

答案 2 :(得分:0)

尝试这种方式:

string[] arrMatchSummary = fromDict.matchsummary.SafeSplit(' ');
for(int i = 0; i < arrMatchSummary.Length; i++)
{
    arrMatchSummary[i] = arrMatchSummary[i].Replace('-', ':');
}