C# 将字符串从向量转换为其他类型(自定义)

C# 将字符串从向量转换为其他类型(自定义),c#,string,vector,streamreader,C#,String,Vector,Streamreader,我正在尝试使用StreamReader从.txt读取变量。它告诉我不能将字符串转换为ushort。我还需要为customclass做这件事 ushort noPhoto; noPhoto= vectChamps[3].Trim(); PositionHockey lol; lol = vectChamps[4].Trim(); 使用ushort.Parse() ushort noPhoto; noPhoto = ushort.Parse(vectChamps[3].Trim()); 但是要

我正在尝试使用StreamReader从.txt读取变量。它告诉我不能将字符串转换为ushort。我还需要为customclass做这件事

ushort noPhoto;
noPhoto= vectChamps[3].Trim();

PositionHockey lol;
lol = vectChamps[4].Trim();
使用
ushort.Parse()

ushort noPhoto;
noPhoto = ushort.Parse(vectChamps[3].Trim());
但是要想
PositionHockey
您必须声明一种将
string
转换为
PositionHockey
实例的方法。作为
PositionHockey
类中的静态方法(如
Parse
)或作为

更新

对于
enum
,您可以使用以下命令:

PositionHockey lol;
lol = (PositionHockey)int.Parse(vectChamps[4].Trim());
如果您的字符串包含字符串的数值。如果是字符串表示,请使用
Enum.Parse

PositionHockey lol;
lol = (PositionHockey)Enum.Parse(typeof(PositionHockey),vectChamps[4].Trim());

您需要将字符串解析为ushort,如下所示:

ushort number = UInt16.Parse(vectChamps[3].Trim());
更多信息请点击此处:

对于另一种类型,可以向对象构造函数添加字符串,例如

PositionHockey lol = new PositionHockey(vectChamps[4].Trim());
或直接设置特定字段:

lol.Value = vectChamps[4].Trim();
我现在明白了后曲棍球是一个枚举,你可以这样做

PostionHockey lol= (PostionHockey) Enum.Parse(typeof(PostionHockey ), vectChamps[4].Trim());

来源:

另一种类型呢?PositionHockey是一个枚举,我真的可以在其中创建一个方法吗?@user2180198
enum
case有点不同。我已经更新了我的答案。