c# 数组的子字符串等价物
c# Substring Equivalent of array
数组是否有等价的子字符串?
输入new char[] foo = {'a', 'b', 'c', 'd', 'e', 'f'}
如果这是一个字符串 abcdef
我会使用 .Substring(0, 2)
并得到 ab
如果输入索引是 0, 2
,是否有内置方法可以给我 char[] {'a', 'b'}
?
代码示例
char[] foo = {'a', 'b', 'c', 'd', 'e', 'f'};
char[] bar = foo.**Method**(0, 2); //what can I do here?
Console.WriteLine(bar);
//Output would be` **ab**
我知道我可以将 Char 数组转换回 String,使用 Substring 并返回到 Char 数组。但这将需要一些额外的代码行,我想知道是否仅使用 1 个内置方法就可以实现。
没有单一的方法可以做到这一点,但您可以使用 Linq 获得相同的效果,例如
var newArr = set.Skip(n).Take(k).ToArray();
进一步的步骤可能是编写扩展方法
public static class MyExtensions
{
public static T[] Subsequence<T>(this IEnumerable<T> arr,int startIndex, int length)
{
return arr.Skip(startIndex).Take(length).ToArray();
}
}
并将其用作
var newset = new[] { 1, 2, 3, 4, 5 }.Subsequence(1, 2);
数组是否有等价的子字符串?
输入new char[] foo = {'a', 'b', 'c', 'd', 'e', 'f'}
如果这是一个字符串 abcdef
我会使用 .Substring(0, 2)
并得到 ab
如果输入索引是 0, 2
,是否有内置方法可以给我 char[] {'a', 'b'}
?
代码示例
char[] foo = {'a', 'b', 'c', 'd', 'e', 'f'};
char[] bar = foo.**Method**(0, 2); //what can I do here?
Console.WriteLine(bar);
//Output would be` **ab**
我知道我可以将 Char 数组转换回 String,使用 Substring 并返回到 Char 数组。但这将需要一些额外的代码行,我想知道是否仅使用 1 个内置方法就可以实现。
没有单一的方法可以做到这一点,但您可以使用 Linq 获得相同的效果,例如
var newArr = set.Skip(n).Take(k).ToArray();
进一步的步骤可能是编写扩展方法
public static class MyExtensions
{
public static T[] Subsequence<T>(this IEnumerable<T> arr,int startIndex, int length)
{
return arr.Skip(startIndex).Take(length).ToArray();
}
}
并将其用作
var newset = new[] { 1, 2, 3, 4, 5 }.Subsequence(1, 2);