在 C# 中,T 类型和 string 类型相互转换

文章介绍了如何使用ToString方法将自定义的T类型(如Person类)转换为string类型,以及如何利用Convert.ChangeType方法将string转换回T类型。在转换过程中,需要注意T类型需重写ToString方法,而string到T的转换若值不合法会抛出InvalidCastException异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将 T 类型转换为 string 类型

使用 ToString 方法,将 T 类型转换为 string 类型。例如,假设存在以下类:

class Person {
    public string Name { get; set; }
    public int Age { get; set; }
}

要将 Person 类型的对象转换为 string 类型,可以使用以下代码:

Person person = new Person { Name = "Alice", Age = 30 };
string personStr = person.ToString(); 
// 使用 ToString 方法需要在 T 类型中重写 ToString 方法,以便可以正确地将 T 类型转换为 string 类型。

将 string 类型转换为 T 类型

使用以下方法,将 string 类型转换为 T 类型:

T value = (T)Convert.ChangeType("string_value", typeof(T));

其中,“string_value” 是要转换的 string 值,typeof(T) 是要转换的类型。
例如,假设要将字符串 “30” 转换为 int 类型,可以使用以下代码:


int age = (int)Convert.ChangeType("30", typeof(int));

如果要转换的 string 值无法转换为目标类型,则会引发 InvalidCastException 异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值