2017-02-01 150 views
0

我有一個字符串數組,我想訪問數組中的第一個元素的特點:有沒有辦法在C#中訪問字符串數組中的字符串?

string[] str= new string[num]; 

for(int i = 0; i < num; i++) 
{ 
    str[i] = Console.ReadLine(); 
} 

要訪問的第一個元素的字符的字符串數組,在Java

str[0].CharAt[0] // 1st character 

C#中有這種方法嗎?我能看到的唯一功能是使用substring。在這種情況下將會產生更多的開銷。

+2

的可能的複製[如何返回這是該指數在性格嗎?(http://stackoverflow.com/questions/2416894/how-to-return-the-character-which-is-at索引) – BACON

+1

@Rinktacular:「一次打印出一個字符」 - nope,因爲'str'是一個*字符串數組,而不是單個字符串。 –

+0

哎呀..很好。誤讀宣言。 :) – Rinktacular

回答

4

你可以使用:

str[0][0] 

,其中第一[0]正在訪問的第0陣列成員,而下一個[0]System.String定義the indexer這給出字符串的第0個char值(UTF-16代碼單元)。

+0

謝謝..!這工作 – Advaitha

+1

@Sushrutha不要忘了標記爲答案 – NicoRiff

+0

@NicoReff謝謝你也這樣做。 – Advaitha

1

是的,你可以這樣做:

string[] s = new string[]{"something", "somethingMore"}; 
char c = s[0][0]; 
+2

這個答案是什麼downvote?它肯定會回答這個問題,即使這個例子不是直接複製到OP的代碼中。 –

+0

這滿足了這個問題。不知道爲什麼它被拒絕投票。 – Rinktacular

+0

不確定要麼 – NicoRiff

0

您可以將字符串數組的第一個字符串轉換爲字符數組,然後只獲取字符數組的第一個值。

string[] stringArray = {"abc"}; 
char[] charArray = stringArray[0].ToCharArray(); 
char first = charArray[0]; 
+1

如果你只是想要第一個'char',就不需要將整個字符串內容複製到一個新的數組中。 –

+0

爲什麼把它變成一個char數組? – EJoshuaS

+0

我不知道你可以像其他答案顯示的字符串索引。謝謝! –

相關問題