C# - 在 For 循环中创建字符串数组
本文关键字:创建 字符串 数组 循环 For | 更新日期: 2023-09-27 18:31:25
我有以下代码,我试图从每个雇主那里取出 GeneralAgency 属性,并将其添加到一个名为 agency 的新字符串数组中。但是,我收到错误"使用未分配的局部变量'机构'"有人可以解释我做错了什么吗?
var employers = _employerRepository.GetByTaxId(taxId).ToList(); //gives me list of employer objects
string[] agencies;
for (int i = 0; i < employers.Count(); i++ )
{
agencies[i] = employers[i].GeneralAgency;
}
只需执行以下操作:
var employers = _employerRepository.GetByTaxId(taxId).ToList();
string[] agencies = new string[employers.Count];
for (int i = 0; i < employers.Count; i++ )
{
agencies[i] = employers[i].GeneralAgency;
}
此外,如果您不需要此循环,您可以只执行:
var agencies = _employerRepository.GetByTaxId(taxId).Select(a => a.GeneralAgency).ToArray();
它只是简单的 LINQ 代码。
您需要先创建数组。您还需要指定数组的大小。
agencies = new string[employers.Count()];
C# 中的数组始终具有固定长度。如果您事先不知道大小,请使用 List<>。
还可以使用 LINQ 编写更短的代码:
var agencies = from employer in employers select employer.GeneralAgency;