Is there any generic Parse() function that will convert a string to any type using parse?(是否有任何通用 Parse() 函数可以使用解析将字符串转换为任何类型?)
问题描述
我想根据通用返回类型将字符串转换为通用类型,如 int 或 date 或 long.
I want to convert a string to a generic type like int or date or long based on the generic return type.
基本上是一个类似 Parse<T>(String) 的函数,它返回 T 类型的项.
Basically a function like Parse<T>(String) that returns an item of type T.
例如,如果传递了一个 int,则函数应该在内部执行 int.parse.
For example if a int was passed the function should do int.parse internally.
推荐答案
System.Convert.ChangeType
根据您的示例,您可以这样做:
As per your example, you could do:
int i = (int)Convert.ChangeType("123", typeof(int));
DateTime dt = (DateTime)Convert.ChangeType("2009/12/12", typeof(DateTime));
为了满足您的通用返回类型"要求,您可以编写自己的扩展方法:
To satisfy your "generic return type" requirement, you could write your own extension method:
public static T ChangeType<T>(this object obj)
{
return (T)Convert.ChangeType(obj, typeof(T));
}
这将允许您这样做:
int i = "123".ChangeType<int>();
这篇关于是否有任何通用 Parse() 函数可以使用解析将字符串转换为任何类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:是否有任何通用 Parse() 函数可以使用解析将字符串转换为任何类型?
基础教程推荐
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
