在C#中解析字符串中的多个双精度数

Jef*_*rey 3 c# parsing text

我有一个包含已知数量的double值的字符串.解析字符串并将结果插入匹配的标量变量的最简洁方法(通过C#)是什么?基本上,我想做相当于这个sscanf语句,但在C#中:

sscanf( textBuff, "%lg %lg %lg %lg %lg %lg", &X, &Y, &Z, &I, &J, &K );
Run Code Online (Sandbox Code Playgroud)

...假设" textBuff"可能包含以下内容:

"-1.123    4.234  34.12  126.4  99      22"

......并且每个值之间的空格字符数可能会有所不同.

谢谢你的任何指示.

dtb*_*dtb 18

string textBuff = "-1.123    4.234  34.12  126.4  99      22";

double[] result = textBuff
    .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
    .Select(s => double.Parse(s))
    .ToArray();

double x = result[0];
//    ...
double k = result[5];
Run Code Online (Sandbox Code Playgroud)

要么

string textBuff = "-1.123    4.234  34.12  126.4  99      22";

string[] result = textBuff
    .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

double x = double.Parse(result[0]);
//    ...
double k = double.Parse(result[5]);
Run Code Online (Sandbox Code Playgroud)

  • 认为你需要一个lambda用于选择.选择(x => double.Parse(x))应该有效. (2认同)