如何从c#中的字符串数组中获取最后三个元素

时间:2014-08-19 12:43:04

标签: c# arrays string

我在c#中有一个字符串数组。现在根据我的要求,我必须得到字符串中第二个最后一个元素之前的最后一个,最后一个和一个元素,但我不知道如何得到它。 这是我的字符串数组。使用Last()我能够获得最后一个元素,但是最后一个元素,然后在倒数第二个之前,我无法找到它。

 string[] arrstr = str.Split(' ');

使用.Last()我能够获得最后一个元素,但其余的元素是我无法获得的。 请帮帮我..

6 个答案:

答案 0 :(得分:11)

使用:

  string[] arrstr = str.Reverse().Take(3).Reverse().ToArray();

答案 1 :(得分:2)

它实际上获取了元素的数量,并从总计数中跳过剩余的元素并获取指定的数量 你可以用N替换3并用作方法

string[] res = arrstr.Skip(Math.Max(0, arrstr.Count() - 3)).Take(3).ToArray();

答案 2 :(得分:2)

var threeLastElments = arrstr.Reverse().Take(3).Reverse().ToArray();

答案 3 :(得分:1)

获取子字符串:string arrstr = str.Substring(str.Length - 4, 3);

More on C# strings

答案 4 :(得分:0)

为什么不使用obj.length来计算长度;然后在循环中使用arr [i]并从最后一个值开始循环。

答案 5 :(得分:0)

提供另一个解决方案,一个比LINQ查询更高效的解决方案...

 public static string[] getLast3(string[] src)
    {
        if (src.Length <= 3)
            return src;
        var res = new string[3];
        Array.Copy(src, src.Length - 3, res, 0, 3);
        return res;
    }