You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用最少代码自动批量生成类实例并为其分配唯一标识

实现方案

首先你需要的pXXXX格式唯一标识不需要对应成单独的变量名,C#作为静态强类型语言,动态生成大量变量名没有实际价值,也不方便后续统一管理,直接将唯一标识作为Person类的属性存储,配合List批量生成即可。

第一步:调整Person类新增ID属性

// 修正你原定义的语法错误:类名后不需要加括号
public class Person
{
    // 你原有字段保持不变
    private string _name;
    private bool _sex;
    // 注意:你原代码里的private enum _race写法有误,enum是类型定义关键字,不能直接作为字段类型,需要先定义Race枚举再声明对应字段,此处按你的实际业务逻辑保留即可
    private Race _race;

    // 新增属性存储你需要的唯一标识
    public string Id { get; set; }

    // 你已编写的构造函数、赋值方法直接保留即可
}

第二步:循环批量生成实例存入List

List<Person> listOfPeople = new List<Person>();
// 生成1~587共587个实例
for (int i = 1; i <= 587; i++)
{
    Person newPerson = new Person();
    // 生成p+四位补零的ID,即p0001、p0002...p0587
    newPerson.Id = $"p{i:D4}";
    // 此处调用你已写好的字段赋值方法即可
    listOfPeople.Add(newPerson);
}

可选简化写法(基于Linq)

如果需要更简洁的代码,可以直接用Linq的Range方法生成:

using System.Linq; // 需先引用Linq命名空间

List<Person> listOfPeople = Enumerable.Range(1, 587)
    .Select(i => new Person
    {
        Id = $"p{i:D4}"
        // 其他字段赋值逻辑可在此处补充
    })
    .ToList();

后续使用说明

  • 要获取指定ID的实例,直接筛选List即可,示例:var target = listOfPeople.FirstOrDefault(p => p.Id == "p0123");
  • 可以直接对List做批量操作,比如批量修改、过滤、导出等,比单独管理587个变量效率高很多。

内容的提问来源于stack exchange,提问作者Ilya_K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:09:01