我有一个文本文件,可以逐行解析为对象值,如下所示:
454864.35 6780638.76 -2206.263 3.000000
452235.30 6780927.62 -2081.68 3.000000
456687.71 6781378.11 -1978.47 2.000000
455560.87 6781230.55 -2173.23 1.000000
454072.22 6781284.69 -2154.58 3.000000
453191.10 6781416.43 -2147.66 3.000000
451562.12 6781809.06 -2251.86 0.000000
454301.38 6781950.10 -2061.31 3.000000
我要解析为对象的值是IndexX,IndexY,IndexZ和代表我为之创建枚举的岩石类型(0-3)的值。
public enum FaciesCodeType
{
Sand = 0,
FineSand = 1,
CoarseSand = 2,
Shale = 3,
}
我当前的文本转换器方法如下:
public PetrelDataFaciesCodeModel FromFaciesCodeTxtLine(string txtline)
{
string[] values = txtline.Split(' ');
PetrelDataFaciesCodeModel dataFaciesValues = new PetrelDataFaciesCodeModel();
dataFaciesValues.IndexX = float.Parse(values[0]);
dataFaciesValues.IndexY = float.Parse(values[1]);
dataFaciesValues.IndexZ = float.Parse(values[2]);
dataFaciesValues.FaciesCode =
return dataFaciesValues;
}
我的问题是我如何读取文本文件并从枚举创建对象值,该枚举是根据每个文本行的索引位置[4]上的值进行解析的?
提前谢谢!
答案 0 :(得分:0)
所以基本上您的问题可以归结为:
如何读取表示浮点值的字符串并将其转换为枚举值?
您需要做的就是像其他一样解析浮点数并将结果转换为您的枚举类型...
所以在您的情况下:
dataFaciesValues.FaciesCode = (FaciesCodeType)float.Parse(values[3]);