2017-06-14 47 views
0

我只想問如何檢查n拆分字符串是否存在或不存在?如何檢查n拆分字符串是否存在(C#)

對於例如: 輸入是一個文本框和我把一個文本在文本框「您好」

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

我們認爲知道結果是: 文章[0] =「喜」 案文[1] =「there」

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

我只是試過這樣,但它不工作。

if (TEXTS[1]!=null) { 

} 
+0

TEXTS.Length> = 2 –

回答

1

可以檢查數組的索引通過使用以下代碼存在:

int index = 25 ; //input any number here 

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

謝謝。它簡單,正是我想要的。 – Fachri

0

需要檢查像陣列的長度:

if (TEXTS.Length > 1) { } 
+0

這是一個正確的實現;然而'1'是一個魔法值,因此很難消化。 「TEXTS.Length> = 2」是,恕我直言,稍微好一點的選擇:當我們想要'2'項目時,我們與'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] 
} 

我希望它幫你。

0

您還可以通過使用System.Linq命名空間獲得與其他答案相同的結果,以獲得稍微好看的語法。

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

'TEXTS [0] .Any()'實際上意味着'TEXTS [0]'字符串*不爲空*;或者把它放在不同的位置,'input.Text' *無法啓動*與空間 –

+0

是的 - 這就是我們想要的不是嗎? – DNKROZ

+0

「我想檢查TEXTS [1]是否存在?」它可以被視爲「文本至少有2個項目」(我的解釋,即我們可以*安全地* *文本[1] * * *)或如果你想要「文本[1]不是空的」;在這種情況下,請注意索引:'1' –

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] 
} 
相關問題