Fir*_*com 0 c# asp.net asp.net-mvc data-structures
我是ASP.NET MVC和C#的新手,我正在编写一个控制器来传递构建列表所需的信息
Organization 1
Organization 1 - Category 1
Organization 1 - Category 2
Organization 2
Organization 2 - Category 1
Organization 2 - Category 2
Organization 2 - Category 3
Organization 3
Organization 3 - Category 1
Run Code Online (Sandbox Code Playgroud)
所有这些行都是字符串.换句话说,我需要将每个组织与该组织的类别列表相关联.截至目前,这些组织和类别存在于数据库表中,但是当我提取它们时,我需要将它们放在"正确的"C#数据结构中以传递给我的View.
显然我可以做点什么
public struct orgcats
{
string org;
List<string> cats;
}
List<orgcats> oclist;
Run Code Online (Sandbox Code Playgroud)
并附加oclist并传递,但我相信你们中的一个人知道更好的方式并且可以教育我.我希望我的代码具有完美的紧凑性,效率,聪明,可读性和正确性.
你应该构建你的对象来代表他们不需要的东西:
public class Organization
{
public string Name { get; set;}
public IEnumerable<Category> Categories { get; set; }
}
public class Category
{
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
类别可以是一个,IEnumerable<string>但只要你需要做一件事(比如添加int Sequence { get; set; }到类别),你的所有引用都Categories变得无效,你将有很多重新编码要做.
我还建议,紧凑性,效率不应该在列表的顶部.我建议将可维护性和可读性作为第一名.