2016-12-26 169 views
0

我需要检查数组的最终位置是否等于空格“”。我的代码下面抛出一个超出范围的异常和单词变量包括通过正则表达式模式结束的空间。c# - 检查数组的位置是否为空或空格?

代码:

string[] words = pattern.Split(input); 
int limit = words.Count(); 

if(words[limit] == " ") 
{ limit = limit - 1; } 

回答

1

.Count()返回数组中元素的个数,但第一个元素的索引是0,所以最后指数应words.Count()-1

+0

在这种情况下,最终元素将等于'限制'。如果最终元素==(“”),它如何写if语句? – Pilling

+0

谢谢。我完全分开了那一个。干杯。 – Pilling

2
string[] words = pattern.Split(input); 
    int limit = words.Count(); 

    if(words[limit-1] == " ") 
    { limit = limit - 1; } 

的阵列位置需要在使用count()时为-1。谢谢。

0

您还可以使用下面的代码。 IsNullOrWhiteSpace方法检查给定的字符串是否只包含null或空格字符。

string[] words = pattern.Split(input); 
    int limit = words.Length; 

    if(String.IsNullOrWhiteSpace(words[limit-1])) 
    { 
     limit-=1; //edit value of limit based on your own logic 
    }