0

長さnに文字列の配列があります。

前後の要素数に関係なく、特定の要素の後の値のみを出力したいと思います。

とにかくこれを行うことはありますか?

コードを編集

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

配列を知っているので3で再結合していますが、場所に関係なく実行できるようにしたいと思います。

いいえ、宿題ではありません;)大きな長いパスを印刷するコンソールアプリがあります。ファイルだけでなく、そのパスの一部のみを表示したいのです。xまでの要素を削除/削除してから、それらを結合して元に戻すことを考えていました。

4

6 に答える 6

3

私がそれを正しく理解していれば...あなたはLINQを使うことができます:

var result = yourArray.Skip(x);

または、一部の文字列のみを取得する場合:

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

忘れないで:

using Sytem.Linq;
于 2012-06-22T10:45:44.343 に答える
3
foreach(var element in myStringList.Skip(myStringList.IndexOf("certainElement"))
    Console.WriteLine(element);
于 2012-06-22T10:45:54.217 に答える
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]);
     }
}
于 2012-06-22T10:45:50.723 に答える
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.
}

お役に立てれば!

于 2012-06-22T10:46:38.273 に答える
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());
}
于 2012-06-22T10:46:39.223 に答える
0
Console.WriteLine(string.Join(", ", myArr.Skip(someAmount)));
于 2012-06-22T10:46:58.070 に答える