【发布时间】:2014-12-01 07:12:49
【问题描述】:
我想使用 StringBuilder() 类创建一个字符串。我有一组说员工的记录。 Employee的每条记录都有firstName、lastName、city等列。 我要创建的字符串将具有上述各列的值。 为此,我需要创建一个类
class Columns
{
string Firstname
{
startPosition = 1;
length = 32;
}
string LastName
{
startPosition = 33;
length = 32;
}
}
在我正在构建的字符串中,我需要在提到的相应起始位置插入 Firstname,Lastname 的值。我是新手,我需要帮助来创建上述课程。上面指定的代码只是类应该是什么样的原型,但我不知道如何创建它。我需要属性 startPosition 和 length 出现在所有列中,并且这些值需要硬编码。对不起,如果我的问题含糊不清。请帮忙..
【问题讨论】:
-
这真的不是一个有效的课程——你在这里想要做什么非常不清楚。一个类不能在这样的字符串中指定位置。听起来您可能想要通过反射检索的属性,但实际上并不清楚。我建议您尝试使用
StringBuilder在代码中对其进行硬编码 - 现在忽略它的类部分。弄清楚如何使用StringBuilder并应用填充等,然后你就可以弄清楚如何将这些信息放入属性中。 -
听起来属性不应该是简单的
string类型,而是它们自己的小类/结构。像public class MyPropertyType { public string Value { get; set; } public int StartPosition { get; set; } public int Length { get; set; } }--- 然后你的Colums类可能看起来像class Columns { MyPropertyType Firstname { get; set; } MyPropertyType LastName { get; set; } }--- (顺便说一句。为什么Firstname和LastName?为什么不FirstName或Lastname匹配大小写另一个?) -
您好,感谢您的回答。关于外壳,这只是一个打字错误。我不想在这里使用 get-set 属性,因为我已经知道 startPosition 和 length 字段的值。我在想,如果我可以获取这些值,那么我可以将它传递给
StringBuilder.Insert(startPos, "string")方法并将其放入 foreach 循环中,以便每次读取 FirstName 或 LastName 的值时,它都应该在相应的 startPositions 处插入这些值。
标签: c# stringbuilder