【问题标题】:C# equivalent to Java's charAt()?C# 相当于 Java 的 charAt()?
【发布时间】:2023-04-06 23:02:01
【问题描述】:

我知道我们可以在 Java 中使用charAt() 方法通过指定字符串的位置来获取字符串中的单个字符。 C#中是否有等效的方法?

【问题讨论】:

  • 您是否正在寻找一种仅适用于保证不包含任何非 16 位 Unicode 字符的字符串的解决方案?或者您正在寻找适用于任意字符串的解决方案?

标签: c# java string


【解决方案1】:

Console.WriteLine 允许用户在字符串中指定位置。

参见下面的示例代码:

string str = "Tigger";
Console.WriteLine( str[0] ); //returns "T";
Console.WriteLine( str[2] ); //returns "g";

给你!

【讨论】:

    【解决方案2】:

    只需使用String.ElementAt()。它与 java 的String.charAt() 非常相似。玩得开心编码!

    【讨论】:

    • 当你可以做很多年前其他人提到的事情时,你为什么要使用 IEnumerable 扩展方法? (内置字符串索引)。
    【解决方案3】:

    你可以使用 LINQ

    string abc = "abc";
    char getresult = abc.Where((item, index) => index == 2).Single();
    

    【讨论】:

      【解决方案4】:

      请试着把它变成一个角色

      string str = "Tigger";
      //then str[0] will return 'T' not "T"
      

      【讨论】:

        【解决方案5】:

        您可以像数组一样在 C# 中对字符串进行索引,然后在该索引处获取字符。

        例子:

        在 Java 中,你会说

        str.charAt(8);
        

        在 C# 中,你会说

        str[8];
        

        【讨论】:

        • 我认为应该指出 str.Substring(8,1) 可以作为一种解决方案,但速度要慢得多。刚刚发现很困难。
        • 这救了我的命 :D 非常感谢!
        【解决方案6】:
        string sample = "ratty";
        Console.WriteLine(sample[0]);
        

        Console.WriteLine(sample.Chars(0));
        参考:http://msdn.microsoft.com/en-us/library/system.string.chars%28v=VS.71%29.aspx

        以上与在c#中使用索引器相同。

        【讨论】:

        • 这救了我的命 :D 非常感谢!
        猜你喜欢
        • 2011-06-29
        • 2010-09-24
        • 2014-12-11
        • 1970-01-01
        • 1970-01-01
        • 2012-06-02
        • 2014-09-29
        • 2011-01-21
        • 1970-01-01
        相关资源
        最近更新 更多