NVarChar到C#数据类型

时间:2014-08-29 23:37:18

标签: c# sql asp.net

数据库存储nvarchar,我检索信息,我想把它塞进C#数据类型,没有任何声明性转换代码。

你可以隐式地将nvarchar转换为C#数据类型吗? (例如nvarchar to int)

2 个答案:

答案 0 :(得分:4)

Nvarchar是一个字符串,如果你想把它变成int,你将不得不经历某种转换,因为我可以在列中找到“Potato”,int会那张地图到?

所有SQL类型的

Here is a listing以及它们映射到的C#类型。因此,如果您想在C#中使用int而不进行转换,那么您在Sql中的唯一选择就是int

答案 1 :(得分:1)

除了将其视为字符串之外,您无法隐式地使用它。

如果你希望它是一个int,你可以使用一些逻辑Parse或更好TryParse

看看以下

string nvarchar1 = "12";
string nvarchar2 = "1.2";
string nvarchar3 = "hello"; 

var one = int.Parse(nvarchar1); // good 
var two = int.Parse(nvarchar2); // exception
var three = int.Parse(nvarchar3); // exception  

var bone = int.TryParse(nvarchar1,out one); // true
var btwo = int.TryParse(nvarchar2,out one).Dump(); // False, 0
var bthree = int.TryParse(nvarchar3,out one); // False, 0

这完全取决于您是否以及您对数据库输入的信任程度。