我在c#中有一个字符串数组。现在根据我的要求,我必须得到字符串中第二个最后一个元素之前的最后一个,最后一个和一个元素,但我不知道如何得到它。 这是我的字符串数组。使用Last()我能够获得最后一个元素,但是最后一个元素,然后在倒数第二个之前,我无法找到它。
string[] arrstr = str.Split(' ');
使用.Last()
我能够获得最后一个元素,但其余的元素是我无法获得的。
请帮帮我..
答案 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);
答案 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;
}