如何根据长度设置属性值的格式
本文关键字:属性 格式 设置 何根 | 更新日期: 2023-09-27 17:53:20
我想创建一个记录格式的文件。
示例:输出文件:Record.txt
SD raj ,kumar ,27/04/2011
DD male ,single ,27/04/2011
ED 27/04/2011
RecordName Fieldname FieldLength
SD FirstName 10
SD LastName 10
SD date 15
DD Sex 6
DD maritalstatus 15
DD date 15
ED date
InputFile为Input.txt,其内容为
raj,kumar,27/04/2011
male,single,27/04/2011
27/04/2011
读取这个输入文件并将数据填充到下面的类对象中。逗号是分隔符,用于分隔记录中的字段值。
class SD
{
private string fName;
private string lName;
private DateTime date;
#region Properties
public string FName
{
get { return fName;}
set { fName= value; }
}
public DateTime Date
{
get { return date; }
set { date = value; }
}
public string LName
{
get { return lName;}
set { lName= value; }
}
#endregion
}
class DD
{
private string sex;
private string mStatus;
private DateTime date;
#region Properties
public string SEX
{
get { return sex;}
set { sex= value; }
}
public string Date
{
get { return date; }
set { date = value; }
}
public string Mstatus
{
get { return mStatus;}
set { mStatus= value; }
}
#endregion
}
class ED
{
private DateTime date;
#region Properties
public string Date
{
get { return date; }
set { date = value; }
}
#endregion
}
我还创建了xml来获取每个记录的字段长度
Sample.xml
<Data>
<SD Fname="10" Lname="10" Date="15/>
<DD SEX="6" mStatus="15" Date="15/>
<ED Date="15/>
<Data/>
现在谁可以告诉我的方式,我可以在哪里格式化字段?
1。在读取输入文本并将其填充到相应的类对象
之后2。在写入输出文件
之前告诉我正确的解决方案(必须使用sample.xml来确定字段长度)
如果我正确理解你的问题,你想知道如何输出固定字段宽度的数据?如果是这样,您可以创建一个函数来填充字符串,像这样:
string GetFixedLengthString(string value, int length)
{
return (value ?? "").Length > length ? (value ?? "").Substring(0, length) : (value ?? "").PadRight(length);
}
当你写出值的时候调用它。我猜Sample.xml中的第二个元素应该是ED而不是SD?将其加载到XmlDocument中并读取属性应该足够简单,然后将属性值作为长度参数传递给函数。