Невозможно объединить строку в C#
У меня есть код для чтения блока данных внутри карты MIFARE.
Метод rfidM1.ReadDataFromCardM1
будет читать блок и возвращать значение в string
,
string memQuery = string.Empty;
int i = 0, j = 0;
sector = 4;
block = 4;
for (i = 0; i < block; i++)
{
for (j = 0; j < sector; j++)
{
memQuery += rfidM1.ReadDataFromCardM1(Convert.ToByte(j), Convert.ToByte(i), _Key1) + ",";
}
}
Мое намерение заключает memQuery
с запятой Пример вывода здесь:
,0,,,,,True,,C0-12320,0,,,,,,
Я согласен memQuery
различными способами, например, используя +=
, StringBuilder
или же ArrayList
но они не работали, потому что он всегда имеет такой вывод, когда я помещаю его в MessageBox.
,0
После этого выглядит как строка 0
не может соединиться с другой строкой после нее. Зачем?
1 ответ
Мое намерение заключает в себе запоминание memQuery запятой
Ну, сначала избавьтесь от ArrayList и замените его var memQuery = new List<string>();
,
Внутри ваших циклов for решите, что делать с нулевыми или пустыми результатами. Добавить null
или пропустите Добавить или...
И тогда, когда memQuery заполнен правильно, вы можете сделать
string result = string.Join(",", memQuery);
string.Join()
может справиться null
s во входной последовательности.