Моя программа сохраняет облако точек в файл, где каждое облако точек представляет собой Point3D[,]
из пространства имен System.Windows.Media.Media3D
. Это показывает строку выходного файла (на португальском языке):
-112,644088741971;71,796623005014;NaN (Não é um número)
в то время как я хотел бы, чтобы это было (чтобы впоследствии правильно анализировать):
-112,644088741971;71,796623005014;NaN
Блок кода, который генерирует файл, находится здесь:
var lines = new List<string>();
for (int rows = 0; rows < malha.GetLength(0); rows++) {
for (int cols = 0; cols < malha.GetLength(1); cols++) {
double x = coordenadas_x[cols];
double y = coordenadas_y[rows];
double z;
if ( SomeTest() ) {
z = alglib.rbfcalc2(model, x, y);
} else {
z = double.NaN;
}
var p = new Point3D(x, y, z);
lines.Add(p.ToString());
malha[rows, cols] = p;
}
}
File.WriteAllLines("../../../../dummydata/malha.txt", lines);
Похоже, что метод double.NaN.ToString()
, вызываемый изнутри Point3D.ToString()
, включает в себя это заключенное в скобки "дополнительное объяснение", которое мне совсем не нужно.
Есть ли способ изменить/переопределить этот метод, чтобы он выводил только NaN
без круглых скобок?