在C#中是否有一种灵活的方式来切换用逗号分隔的字符串的两个部分?

chu*_*nce 2 c# string

我有一堆lat/long对作为字符串:

-94.5555,95.5555

我正在使用的API需要切换它们:

95.555,-94.555

这样做有什么光滑,简短的方法吗?

Mat*_*hen 13

Linq的单线:

string.Join(",", original.Split(',').Reverse());
Run Code Online (Sandbox Code Playgroud)

或者,更明确(可能是性能改进):

string[] split = original.Split(',');
string reversed = split[1] + "," + split[0];
Run Code Online (Sandbox Code Playgroud)

  • @Sarah:.NET 4为string.Join添加了新的重载. (2认同)
  • 我知道我们正在谈论一对纬度/长对,但是除非将这些数据提供给您的函数,否则请注意千位分隔符. (2认同)
  • @chum:为什么在非静态上下文中停止`Join`工作?您可以在任何您喜欢的环境中使用此答案.就个人而言,我仍然宁愿有一个名字很好的方法调用,它隐藏了细节,但这肯定有用. (2认同)