我正在尝试在 C# 中创建一个记录类型,其中一些字段作为固定长度字符串。
我只是想用这个记录来进一步阅读预定义的文件格式。
我试过这个:
public record Person (int age, fixed char birthdate[8]);
但是,我收到以下错误
无法在变量声明中指定数组大小(尝试使用“新”表达式进行初始化)CS0270
我使用的是 Visual Studio Code 版本:1.88.1(通用)。
你能帮我吗?
提前致谢, 马里奥
首先,最好的方法是使用 Datetime,如注释所述,但如果不能,则可以在记录构造函数上抛出异常:
public record Person
{
public int Age { get; set; }
public string Birthdate { get; set; }
public Person(int age, string birthdate)
{
if (birthdate.Length == 8)
throw new ArgumentException("Birthdate must be exactly 8 characters long.");
Age = age;
Birthdate = birthdate;
}
}
这样,第一个示例将通过,但第二个示例将抛出异常
var validPerson = new Person(1, "012345678");
var invalidPerson = new Person(1, "0123456789");