Перевод «новых» массивов из VB.Net в C # - PullRequest
1 голос
/ 09 декабря 2011

Я пытаюсь перевести некоторый код из VB.Net в C #, но у меня возникла проблема.

Строка кода Vb.Net, которую я хочу перевести:

client.Applicants = New wcf_Integration.Applicant() {New wcf_Integration.Applicant}

Я пытался перевести это на:

Client.Applicants = new wcf_Integration.Applicant[1];
Client.Applicants[0] = new Applicant();

Однако это вызывает у меня неприятную ошибку: «Ссылка на объект не установлена ​​на экземпляр объекта».

Любая помощь по этому вопросу будет принята с благодарностью. :)

Ответы [ 3 ]

4 голосов
/ 09 декабря 2011

Вы также можете использовать синтаксис инициализатора массива

// Typed implicitly (type inferred by compiler).
Clients.Applicants = new[] { new Applicant(), ... };

// Typed explicitly.
Clients.Applicants = new Applicant[] { new Applicant(), ... };
1 голос
/ 09 декабря 2011

Может быть Client равно нулю. Так что Client.Applicants поднимает исключение. Это не имеет ничего общего с массивом.

0 голосов
/ 09 декабря 2011

попробуйте это:

var myApplicants = new wcf_Integration.Applicant[1];
myApplicants[0] = new Applicant();
...