C# 使用默认值参数将字符串转换为int的C函数
所以我希望在StackOverflow上找到Delphi的StrToIntDef函数的最终等价物,但我不能 实施以下措施C# 使用默认值参数将字符串转换为int的C函数,c#,type-conversion,C#,Type Conversion,所以我希望在StackOverflow上找到Delphi的StrToIntDef函数的最终等价物,但我不能 实施以下措施 public static int StrToIntDef(string s, int def) { } 正则数 此方法使用了一些初学者不太可能知道的更高级的C功能,它们是: 在默认值前面添加@,这是为了防止编译错误,因为它是C关键字。 将参数number作为out传入,这意味着该number将在函数中更新并返回,尽管它是值类型。 不同的数字样式 有一个可用于解析不同样式
public static int StrToIntDef(string s, int def)
{
}
正则数
此方法使用了一些初学者不太可能知道的更高级的C功能,它们是:
在默认值前面添加@,这是为了防止编译错误,因为它是C关键字。
将参数number作为out传入,这意味着该number将在函数中更新并返回,尽管它是值类型。
不同的数字样式
有一个可用于解析不同样式的数字的:
public static bool TryParse(
string s,
NumberStyles style,
IFormatProvider provider,
out int result
)
以下是NumberStyles列表,可与此重载结合使用,以解析货币或十六进制等格式异常的数字
没有一个
AllowReadingWhite
AllowTrailingWhite
允许阅读符号
允许轨道信号
AllowParenthesis
AllowDecimalPoint
允许沙子
AllowExponent
AllowCurrencySymbol
AllowHexSpecifier
整数
十六进制数
数字
浮动
通货
任何
例如,传递十六进制数:
string hex = "AB";
int hexInt = int.Parse(hex, NumberStyles.HexNumber);
或删除括号和空格:
string number = " (2) ";
int castedNumber = int.Parse(num, NumberStyles.AllowParentheses |
NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite);
更多关于他们的阅读
工具书类
您可以发布一个TryParse:
或者您可以直接进行转换:
int val = Convert.ToInt32("1");
但简而言之,您不需要自己的功能。当然,除非在不转换时需要指定非0的默认值。如果是这样,那么您将在方法中利用TryParse,如果它不起作用,则返回传入的默认值。试试这个
int outputInteger;
int.TryParse(inputString, out outputInteger);
正如我所看到的,这个函数不仅仅是解析..TryParse for Compact Framework:四个人提供这个问题的答案没有问题,答案之间有27票。对我来说,这是一个真正的问题。把这个问题作为一个展示你知识的机会,做得很好
int val;
var success = Int.TryParse("1", out val);
int val = Convert.ToInt32("1");
int outputInteger;
int.TryParse(inputString, out outputInteger);