我正在尝试进行一些数据转换.不幸的是,大部分数据都是字符串,它应该是int或double等等......
所以我得到的是:
double? amount = Convert.ToDouble(strAmount);
Run Code Online (Sandbox Code Playgroud)
这种方法的问题是如果strAmount是空的,如果它是空的我希望它等于null,所以当我将它添加到数据库时,该列将为null.所以我最后写了这个:
double? amount = null;
if(strAmount.Trim().Length>0)
{
amount = Convert.ToDouble(strAmount);
}
Run Code Online (Sandbox Code Playgroud)
现在这个工作正常,但我现在有五行代码而不是一行代码.这使得事情变得更难以阅读,特别是当我有大量的列要转换时.
我以为我会使用字符串类和泛型的扩展来传入类型,这是因为它可能是double,或int或long.所以我尝试了这个:
public static class GenericExtension
{
public static Nullable<T> ConvertToNullable<T>(this string s, T type) where T: struct
{
if (s.Trim().Length > 0)
{
return (Nullable<T>)s;
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
但我收到错误:无法将类型'string'转换为'T?'
有没有解决的办法?我不太熟悉使用泛型创建方法.
我试图使用TryParse来查找字符串值是否为整数.如果该值是整数,则跳过foreach循环.这是我的代码.
string strValue = "42 "
if (int.TryParse(trim(strValue) , intVal)) == false
{
break;
}
Run Code Online (Sandbox Code Playgroud)
intVal是int类型的变量(可空INT).如何将tryparse与nullable int一起使用?
C#6.0中的新功能允许在TryParse方法中声明变量.我有一些代码:
string s = "Hello";
if (int.TryParse(s, out var result))
{
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么?PS:在项目设置中设置C#6.0和.NET framework 4.6.
在C#中,类型实例变量的默认值是int?什么?
例如,在以下代码中,MyNullableInt如果从未明确分配,将具有什么值?
class MyClass
{
public int? MyNullableInt;
}
Run Code Online (Sandbox Code Playgroud)
(似乎答案几乎肯定是null或者0,但是那些是什么?)
我们的ASP.NET MVC 3应用程序在Azure上运行,并使用Blob作为文件存储.我找到了上传部分.
视图将具有文件名,单击该文件名时将提示文件下载屏幕出现.
谁能告诉我怎么做呢?
asp.net-mvc azure azure-storage azure-storage-blobs asp.net-mvc-3
我该如何解析一个空字符串?int.Parse(Textbox1.text)给我一个错误:
输入字符串的格式不正确.
System.FormatException:输入字符串的格式不正确.
如果文本为空(Textbox1.text = ''),则会抛出此错误.我理解这个错误,但不知道如何纠正这个.
我如何使用int.TryParsenullable int?
我试图做类似下面的事情,显然不能编译.
int? nr1 = int.TryParse(str1, out nr1) ? nr1 : null;
实现它的正确方法是什么?