积极答复者
C#按指定的长度读取TXT文件

问题
-
有一个文本文件Test.txt, 然后根据一个数组 int[] strLeng=new int[6]{12,9,10,9,2,2}中的值读取Test.txt每行的内容;
这样第一次读取12个字符,第二次读取9个字符,以此类推... 这是我最初的做法:
现在想用一个枚举 :
public enum StrEnumLength
{
TypeID =12,
UserID = 9,
UserPwd = 10,
UserName = 9,
UserCode= 2,
UserNo = 2,
}
foreach (int intValue in Enum.GetValues(StrEnumLength))
{
int intEnum = intValue;//intEnum的值第一次是2,第二次是2,第三次是9
}
然后遍历这个枚举 ,根据得到的值来读取Test.txt文件,可是这样第一次读取的是2个字符,第二次读取的是2个字符,第三次读取的是9个字符,这就不是我想要(我想要的是第一次读取12个字符,第二次读取9个字符,第三次读取的是10个字 符...... ).
所以现在我想问一下是不是枚举实现不了,还是我写的不对.
是不是还有其它更好的方法来实现这种要 求.
请教各位???
答案
-
把 enum 换成一个 List<int>,或者 Dictionary<string, int>,然后用 foreach 直接遍历 List 或者 Dictionary 就可以了。没有必要用枚举的。
PS:枚举的实际类型可能是 uint 或者 int,编译时,它的值会从小到大排列,具备相同值得枚举项会被给出警告。
Mark Zhou- 已标记为答案 Csharpzero 2010年6月25日 1:23
全部回复
-
把 enum 换成一个 List<int>,或者 Dictionary<string, int>,然后用 foreach 直接遍历 List 或者 Dictionary 就可以了。没有必要用枚举的。
PS:枚举的实际类型可能是 uint 或者 int,编译时,它的值会从小到大排列,具备相同值得枚举项会被给出警告。
Mark Zhou- 已标记为答案 Csharpzero 2010年6月25日 1:23