Невозможно объединить строку в 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() может справиться nulls во входной последовательности.

Другие вопросы по тегам