Не можете установить массив типа char равным запятой? - PullRequest
2 голосов
/ 20 апреля 2020

Я пытаюсь присвоить значения (в контроллере) переменным, которые я создал, используя модель. Одной из переменных является массив типа Char. Тем не менее, когда я пытаюсь присвоить его значение запятой; Например: arrayName = {','}, среда IDE возвращает сообщение об ошибке;

"'char []" не содержит определения для "Add" и недоступен метод расширения "Add", принимающий первый аргумент типа 'char []' может быть найдено (вам не хватает директивы using или ссылки на сборку?) "

Это потому, что мое объявление массива символов выполнено неправильно?

Моя модель класса (объявление массива символов):

public class Category

    {

         public char[] delimiterChar { get; set; }

    }

Мой контроллер (Назначение значений):

[HttpPost]
        public ActionResult ReadCategory()
        {
            var dataFile = Server.MapPath("~/App_Data/Category.txt");

            Category passCategory = new Category
            {
                delimiterChar = { ',' },
            };

            return View(passCategory);
        }

Любая помощь очень ценится ! Спасибо.

1 Ответ

3 голосов
/ 20 апреля 2020

Ваш код в настоящее время содержит инициализатор коллекции . Это:

Category passCategory = new Category
{
    delimiterChar = { ',' },
};

эквивалентно этому:

Category passCategory = new Category();
passCategory.delimiterChar.Add(',');

Это не назначение . Для этого вам нужно вместо этого указать значение:

Category passCategory = new Category
{
    delimiterChar = new[] { ',' },
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...