将此转换函数从 vb 转换为 c#
convert this conversion function from vb to c#
我有一个简单的 vb 方法将字符串转换为整数,它的定义如下:
Public Function getInt(input As String) As Integer
Int32.TryParse(input, getInt)
End Function
如何在不使用额外整数变量的情况下使其在 c#
中工作?我可以在 C# 中做同样的事情,如下所示:
public int getInt(string input)
{
int outParam = 0;
Int32.TryParse(input, out outParam);
return outParam;
}
是否可以避免使用额外变量:int outParam = 0;
我已经尝试了 Int32.TryParse(input, return);
和 Int32.TryParse(input,out return);
但没有用;
更新: 当前的 c# 方法运行良好。我不要求任何替代方案。只是想知道是否可以像我在 vb 中所做的那样自定义此方法(避免额外声明 int 变量)
你上面的代码其实还不错。我不知道你为什么要在没有 int
的情况下这样做,但你可以这样做:
public int getInt(string input)
{
return Int32.Parse(input);
}
问题是如果字符串不能很好地解析为整数,它将抛出异常。您上面提供的代码更容错。
您可以使用:
Int32.Parse(input);
或者:
public int getInt(string input)
{
int outParam = 0;
if (!Int32.TryParse(input, out outParam))
throw new Exception("Show message!");
return outParam;
}
您的 VB 代码使用 VB 的 'feature',这允许您将函数名称 'getInt' 用作隐式局部变量。这个隐式局部变量的最后一个值在函数退出时被 return 编辑。
您的 C# 代码是必要且正确的等效代码 - 它声明显式本地 'outParam' 用于代替函数名称,并使用显式 'return' 代替 VB 的隐式 return.
VB 函数中隐藏局部变量的赋值和 returning 可能应该被视为遗留功能,最好避免,因为它降低了清晰度。
我有一个简单的 vb 方法将字符串转换为整数,它的定义如下:
Public Function getInt(input As String) As Integer
Int32.TryParse(input, getInt)
End Function
如何在不使用额外整数变量的情况下使其在 c#
中工作?我可以在 C# 中做同样的事情,如下所示:
public int getInt(string input)
{
int outParam = 0;
Int32.TryParse(input, out outParam);
return outParam;
}
是否可以避免使用额外变量:int outParam = 0;
我已经尝试了 Int32.TryParse(input, return);
和 Int32.TryParse(input,out return);
但没有用;
更新: 当前的 c# 方法运行良好。我不要求任何替代方案。只是想知道是否可以像我在 vb 中所做的那样自定义此方法(避免额外声明 int 变量)
你上面的代码其实还不错。我不知道你为什么要在没有 int
的情况下这样做,但你可以这样做:
public int getInt(string input)
{
return Int32.Parse(input);
}
问题是如果字符串不能很好地解析为整数,它将抛出异常。您上面提供的代码更容错。
您可以使用:
Int32.Parse(input);
或者:
public int getInt(string input)
{
int outParam = 0;
if (!Int32.TryParse(input, out outParam))
throw new Exception("Show message!");
return outParam;
}
您的 VB 代码使用 VB 的 'feature',这允许您将函数名称 'getInt' 用作隐式局部变量。这个隐式局部变量的最后一个值在函数退出时被 return 编辑。
您的 C# 代码是必要且正确的等效代码 - 它声明显式本地 'outParam' 用于代替函数名称,并使用显式 'return' 代替 VB 的隐式 return.
VB 函数中隐藏局部变量的赋值和 returning 可能应该被视为遗留功能,最好避免,因为它降低了清晰度。