如何检查n分裂字符串是否存在(C#)

时间:2017-06-14 10:37:52

标签: c# arrays string split

我只是想问一下如何检查n分裂字符串是否存在?

例如: input是一个TextBox,我把文本放在TextBox“hi there”

presto> with t as (select cast('1497435766032' as bigint) a)
     -> select from_unixtime(a / 1000) + parse_duration(cast((a % 1000) as varchar) || 'ms') from t;
          _col0          
-------------------------
 2017-06-14 12:22:46.032 
(1 row)

我们知道结果是: TEXTS [0] =“hi” TEXTS [1] =“那里”

我想检查TEXTS [1]是否存在?

我只是尝试过这样但不起作用。

var TEXTS = input.Text.Split(' ');

5 个答案:

答案 0 :(得分:1)

您可以使用以下代码检查数组的索引是否存在:

int index = 25 ;  //input any number here

if(index < array.Length)
{
    //it exists
}

答案 1 :(得分:0)

您需要检查数组的长度,如:

if (TEXTS.Length > 1) { }

答案 2 :(得分:0)

您可以使用foreach获取每个值

var TEXTS = input.Text.Split(' ');
foreach (string val in TEXTS)
{
//you can use val
}

或者您可以for获取每个值

var TEXTS = input.Text.Split(' ');
for (int i = 0; i < TEXTS.Length; i++)
{
//you can use TEXTS[i]
}

我希望它可以帮到你。

答案 3 :(得分:0)

使用System.Linq命名空间可以获得与其他答案相同的结果,以获得更好看的语法。

if (TEXTS.ElementAtOrDefault(1) != null){
    Console.Write("IT EXISTS!!");
}

答案 4 :(得分:0)

如果您只想检查,您只需要计算分隔符(空格,在上下文中):

int count = 2; // we want to ensure at least 2 items

bool result = input
  .Text
  .Where(c => c == ' ')
  .Skip(count - 2)
  .Any();

if (result) {
  // we have at least count - 1 spaces, and thus at least count parts
}  

如果您想拆分检查,请尝试使用Length

int count = 2; // we want to ensure at least 2 items

string[] items = input
  .Text
  .Split(' ');

if (items.Length >= count) {
  // we have at least count items, and thus can put items[0] ... items[count - 1]
}