使用C#获取两个字母(AE)之间的字母(ABCDE)

Pra*_*sad 3 c#

我需要在使用C#传递两个字母时将字母作为数组

例如:当我通过时"AE",我需要将{A,B,C,D,E}作为数组.并且传递"FJ"应该返回{F,G,H,I,J}.

Guf*_*ffa 7

Enumerable级可以创建一个范围,这使得循环简单:

public static char[] CharactersBetween(char start, char end) {
  return Enumerable.Range(start, end - start + 1).Select(c => (char)c).ToArray();
}
Run Code Online (Sandbox Code Playgroud)

注意:char值隐式转换为int,因此在该方向上不需要转换.您只需将整数转换回char.

编辑:

如果要发送字母表以使用(处理语言差异),您可以使用它Substring来获取该字符串的一部分:

public static char[] CharactersBetween(char start, char end, string alphabet) {
  int idx = alphabet.IndexOf(start);
  return alphabet.Substring(idx, alphabet.IndexOf(end) - idx + 1).ToCharArray();
}
Run Code Online (Sandbox Code Playgroud)

  • `CharactersBetween('G','Æ')`? (2认同)