2012-06-22 36 views
0

我有一個長度爲n的字符串數組。從數組中的特定元素打印

我只想打印出某個元素後的值,而不管之前或之後的元素數量。

有沒有辦法做到這一點?

編輯代碼

string separator = "\\"; 
string[] splitPath = path.Split('\\'); 
string joinedPath = String.Join(separator, splitPath[3], splitPath[4], splitPath[5]); 
Console.WriteLine("Extracted: " + path); 

我有它在3被重新加入,因爲我知道數組,但我想它,使它willdo它,不管位置

而且都能跟得上它不是功課;)我有一個控制檯應用程序,打印出一個很長的路徑,我只希望它顯示部分路徑,而不僅僅是文件。我正在考慮刪除/刪除x以上的元素,然後將它們加入備份。

+2

呀,循環開始你的「某些元素」的指數在陣列上。似乎功課? –

+0

@Morawski已將代碼 – ELSheepO

回答

3

如果我的理解對不對......你可以使用LINQ:

var result = yourArray.Skip(x); 

,或者如果你想只需要一些字符串:

var result = yourArray.Skip(x).Take(y); 

不要忘記:

using Sytem.Linq; 
0

你的意思是這樣的嗎?

public void PrintArray(int fromIndex, string[] strings) 
{ 
    if(strings == null) throw new ArgumentNullException("strings"); 
    if(fromIndex > strings.Length) throw new ArgumentException("Bad fromIndex", "fromIndex"); 

    for(int i = fromIndex; i < strings.Length; i++) 
    { 
      Console.WriteLine(strings[i]); 
    } 
} 
3
foreach(var element in myStringList.Skip(myStringList.IndexOf("certainElement")) 
    Console.WriteLine(element); 
0

你可以做這樣的事情:

// 'array' is the string array and 'startFrom' is where in the array you want to start from 
string[] array = ...; 
int startFrom = 5; 
for(int count = startFrom; count < array.Length; count ++) 
{ 
    Console.WriteLine(array[count]); 
    // Or use array[count] for something else. 
} 

希望這有助於!

0

很簡單的小例子:

int myIndex = 5; 
string[] test = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" }; 
for (int i = myIndex; i < test.Length; i++) 
{ 
    Console.WriteLine("Element: " + i.ToString()); 
} 
+1

這是F,不正確。爲了打印'i.ToString()'(只是連續的數字),爲什麼你需要任何'string [] test'呢? ;) –

+0

習慣的力量,真正快速地打出來。有點困惑這條線'好吧,這是F,不正確。'?字符串數組可能是連續的數字,但這是不相關的,它仍然證明了這個問題的一個可能的解決方案。 – dtsg

+1

只是一個笑話,指的是這個問題可能是OP的作業;)他需要從數組中打印值 - 不是索引 - 所以他實際需要的是'Console.WriteLine(test [i]);' –

0
Console.WriteLine(string.Join(", ", myArr.Skip(someAmount)));