Суммируйте числа в StreamWriter вместо записи рядом друг с другом в C# - PullRequest
0 голосов
/ 13 апреля 2020

Я хотел бы записать все данные в файл CSV. Все работает нормально, но цифры не складываются, они пишутся рядом друг с другом.

Эта часть кода:

file.WriteLine("\"1. koordinata:\"" + ";" + opening.rect_co_x + ";" + cord.y + ";" + opening.rect_co_z);
file.WriteLine("\"2. koordinata:\"" + ";" + opening.rect_co_x + opening.rect_width + ";" + cord.y + ";" + opening.rect_co_z);

Каждое свойство является double, uint или int.

Что я ожидаю: 1 + 3 = 4

Что я получил: 1 + 3 = 13

1 Ответ

1 голос
/ 13 апреля 2020

+: означает конкатенацию строк, вы не можете вычислить некоторые из int внутри строки напрямую.
Попробуйте использовать следующий подход:

int a = 1, b = 3;
string str = $"a;{a + b};b"; // a;4;b

//or string.Format
string str2 = string.Format("a;{0};b", a + b);

Вы можете изменить свой код на:

file.WriteLine($"\"1. koordinata:\";{opening.rect_co_x };{cord.y};{opening.rect_co_z}");
file.WriteLine($"\"2. koordinata:\";{opening.rect_co_x + opening.rect_width};{cord.y};{opening.rect_co_z}");

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...