在C#中获取子字符串?

Bru*_*ski 0 c#

这是一个简单的新手问题.我可能会使用一些复杂的字符串方法(如子字符串和其他方法)来解决这个问题,但我想知道是否有更好的方法来做到这一点.

假设我在C#中有一个字符串:

string foo = "°F";
Run Code Online (Sandbox Code Playgroud)

什么是将其分成两个不同的字符串的最佳方法,其中我有"deg"和"F"?

我看到发生了什么.stackflow正在解释HTML.它实际上是(&符号)deg(分号)F.

对不起,昨晚我发布的时间已经很晚了.

aqu*_*nas 8

我不知道它是否"复杂"但是:

string degree = foo[0].ToString();
string f = foo[1].ToString();
Run Code Online (Sandbox Code Playgroud)

我觉得你选择了一个过于简单的例子.你真的在处理一个两个字符串,还是你想做一些更有趣的事情?

更新:嗯,我仍然认为你必须在这里努力做点事情.但这是另一种方式:(帽子提示:@James Didzun)

string f = foo.Replace("°","");
string deg = foo.Replace("F", "");
Run Code Online (Sandbox Code Playgroud)

或者你可以这样做:

string deg = foo.Substring(0, 5);
string f = foo.Substring(5,1);
Run Code Online (Sandbox Code Playgroud)

要么:

 var deg =  new string(foo.TakeWhile(c => c != 'F').ToArray());
 var f = foo.SkipWhile(c => c != 'F').First().ToString();
Run Code Online (Sandbox Code Playgroud)

要么:

string[] x = foo.Split(';');
string deg = x[0] + ";";
string f = x[1];
Run Code Online (Sandbox Code Playgroud)

要么:

string deg = "°"
string f = "F";
Run Code Online (Sandbox Code Playgroud)

就个人而言,我更喜欢这种最后的方法.你为什么要拆分一个你知道确切内容的字符串?