「複雑」かどうかはわかりませんが、
string degree = foo[0].ToString();
string f = foo[1].ToString();
ただし、あまりにも単純な例を選択したように感じます。本当に 2 文字の文字列を扱っているのでしょうか、それとももっと面白いことをしようとしているのでしょうか?
更新: ええと、ここでもっと難しいことをしようとしているに違いないと思います。しかし、ここに別の方法があります: (帽子のヒント: @James Didzun)
string f = foo.Replace("°","");
string deg = foo.Replace("F", "");
または、次のようにすることもできます。
string deg = foo.Substring(0, 5);
string f = foo.Substring(5,1);
または:
var deg = new string(foo.TakeWhile(c => c != 'F').ToArray());
var f = foo.SkipWhile(c => c != 'F').First().ToString();
または:
string[] x = foo.Split(';');
string deg = x[0] + ";";
string f = x[1];
または:
string deg = "°"
string f = "F";
個人的には、この最後のアプローチを好みます。正確な内容を知っている文字列を分割するのはなぜですか?