2011-07-07 190 views
3

使用array.ElementAt(0);我們可以得到數組索引爲0的元素。有沒有一種方法來獲得數組中的所有元素?C#獲取數組的所有元素

​​

TEST_ACTUALVALUE是我的report.xls文件中的一列。上面在我的excel文件中寫入了System.string []。

+2

你想對所有的元素做一些特別的事嗎?像將它們連接在一起形成一個大串? –

+2

你想如何存儲'所有元素'?在另一個陣列?在列表中?還有其他的東西嗎? –

+4

我可能在這裏是一個外行,但不是它本身的數組「所有元素」? –

回答

10

您已經擁有數組中的所有元素...數組本身。

答案很簡單,在它們之間迭代:

foreach(var item in array) 
{ 
    // work with item here 
} 

或者,如果你寧願對付指標:

for(var i = 0; i < array.Length; i++) 
{ 
    var item = array[i]; 
    // work with item here 
} 
+0

你也許知道該數組[i]會出現這個錯誤:'不能將索引應用於System.Array類型的表達式? – Cristiano

+0

@ maf-soft - 在OP的帖子中沒有任何地方會問如何修改數組的元素。它只需在單獨的字典中設置值。 –

+0

@JustinNiessner - 您現在可以刪除您的評論,我編輯了您的答案並刪除了我的評論。 –

4

有一百種方法去皮膚那隻貓。很大程度上取決於你想要對所有元素做什麼。繼承人循環法舊學校:

for(int i = 0; i < array.Length; i++) 
{ 
    something = array[i]; 
} 
2

要出去在這裏的肢體,並建議使用循環?

2

你爲什麼要使用ElementAt?你可以只使用索引:

var value = array[0]; 

一般:

var ithValue = array[i]; 
4

我不知道爲什麼你會做到這一點,但有可用的array.All。試試嗎?

+0

不是我的代碼,但是使用這個... int [] array = {10,20,30}; bool a = array.All(element => element> = 10); //是否所有元素> = 10?是 – Cortright

3

很難知道你的意思是「獲取數組中的所有元素」,因爲你已經擁有陣列中的所有元素....

var concatinatedString = String.Concat(myArrayOfStrings); 
2

Array類實現IList,ICollection的,和IEnumerable接口:

就像如果你的意思是concatinating從一個字符串數組的字符串,然後東西。所以你可以使用這些接口的任何需要的方法。

最終,您可以編寫foreach循環來遍歷數組。

3

取決於你想要有很多方法,你可以看看

獲取數組

for(int x = 0; x < array.Length; x++) 
{ 
    something = array[x]; 
    somethingElse = array.ElementAt(x); 
} 

所有元素做一個數組列表,讓所有的值來獲得的元素是什麼:

List<T> myList = array.ToList<T>(); 

從這裏您可以使用該數組執行所有列表方法以獲取所有值。

如果你想利用每一個元素使用量之和:

sum = array.Sum(); 

要獲得數組中的最大值/最小值:

max = array.Max(); 
min = array.Min(); 

爲了獲得平均:

double average = array.Average(num => Convert.ToInt64(num)); 

還有很多其他的方法可以從一個數組中獲取所有信息,here

2

問題是如何將字符串數組連接在一起。解決方案:

... = "The results are: " + String.Join (", ", arr1); 

並記:你不必和不應使用array.ElementAt(0)獲得元素。使用array[0]

0
//IF the array type is string, you can follow below: 
//else you need to convert to string 1st. 

String Result = ""; 

For (int i=0; i<array.length; i++) 
{ 
Result = Result + array[i]; 
} 

// The result will consist all the array element. 
相關問題