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 回答