在 C# 中使用索引处理字符串,就像在 F# 中一样

Working with strings in C# using indexing like in F#

在 F# 中,您可以这样做:

let someString = "string"
printfn "%A" someString.[1..]  // will print "tring"
printfn "%A" someString.[1..4] // will print "trin"
printfn "%A" someString.[0]    // will print "s"

我很怀念能够像这样使用字符串。所以我的问题是 C# 中是否有类似的东西?

如果不是,那么当人们有一个很长的字符串需要从中提取特定信息时,他们在 C# 中会做什么?

您正在寻找的主要方法是 String.Substring (MSDN)

在您的示例中,代码为:

string someString = "string";
Console.WriteLine(someString.Substring(1));
Console.WriteLine(someString.Substring(1, 4));

您还可以通过索引访问单个字符,因此最后一行将是:

Console.WriteLine(someString[0]);

关于你的最后一个问题,我的大部分开发经验都不需要像这样处理长字符串。通常这样的长字符串是某种对象表示法,我们将使用正确的序列化程序来获得更容易处理的字符串的对象表示。

          string input = "Whosebug";

         // Get first three characters.
         string first= input.Substring(0, 3);
         Console.WriteLine( sub);