You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#的字符串列表中获取元素位置及字母的字母表序号

在C#中获取List字符串元素的位置及字母表序号

方法一:使用List的IndexOf方法

List<T>自带的IndexOf方法可以直接返回元素在列表中的索引位置(从0开始计数)。因为你需要的是字母表序号(从1开始),拿到索引后加1即可。

完整代码示例

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<string> letters = new List<string>
        {
            "A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
            "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
            "U", "V", "W", "X", "Y", "Z"
        };

        Console.Write("请输入一个字母:");
        string input = Console.ReadLine()?.Trim().ToUpper();

        if (!string.IsNullOrEmpty(input) && input.Length == 1)
        {
            int index = letters.IndexOf(input);
            if (index != -1)
            {
                int alphabetOrder = index + 1;
                Console.WriteLine($"字母{input}的字母表序号是:{alphabetOrder}");
            }
            else
            {
                Console.WriteLine("输入的字母不在列表中");
            }
        }
        else
        {
            Console.WriteLine("请输入有效的单个字母");
        }
    }
}

说明

  • IndexOf返回元素的索引,若元素不存在则返回-1,需先判断返回值是否有效。
  • 调用ToUpper()是为了兼容小写输入,确保能匹配列表中的大写元素。

方法二:直接通过字符ASCII值计算(无需List)

针对A-Z的字母场景,不需要维护List,直接利用字符的ASCII码值就能计算序号,效率更高:

using System;

class Program
{
    static void Main()
    {
        Console.Write("请输入一个字母:");
        string input = Console.ReadLine()?.Trim().ToUpper();

        if (!string.IsNullOrEmpty(input) && input.Length == 1 && char.IsLetter(input[0]))
        {
            int alphabetOrder = input[0] - 'A' + 1;
            Console.WriteLine($"字母{input}的字母表序号是:{alphabetOrder}");
        }
        else
        {
            Console.WriteLine("请输入有效的单个字母");
        }
    }
}

说明

  • 大写字母'A'的ASCII值为65,'B'为66,以此类推。用输入字符减去'A'得到0开始的偏移量,加1就是从1开始的字母表序号。
  • char.IsLetter用于校验输入是否为字母,避免非字母输入引发错误。

内容的提问来源于stack exchange,提问作者Tonyey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 20:00:39