题
如何VB.NET 计算一个方法的长度?我怎样才能在C#中做到这一点?
这是我的 VB.NET 密码:
Private Function ZeroPad(ByRef pNumber As Integer, ByRef pLength As Integer) As String
Dim Padding As Object
If IsNumeric(pNumber) And IsNumeric(pLength) Then
Padding = New String("0", pLength)
ZeroPad = Padding & CStr(pNumber)
ZeroPad = Right(ZeroPad, pLength)
Else
ZeroPad = CStr(pNumber)
End If
End Function
我转换成C#如下:
private string ZeroPad(ref int pNumber, ref int pLength) {
object Padding;
if ((IsNumeric(pNumber) && IsNumeric(pLength))) {
Padding = new string("0", pLength);
return (Padding + pNumber.ToString());
ZeroPad = ZeroPad.Substring((ZeroPad.Length - pLength));
// In the above line, how can I take the length of a method in C#?
}
else {
return pNumber.ToString();
}
}
解决方案
你可能在变量之间感到困惑 ZeroPad
和方法 ZeroPad
.习惯上用小写的初始字符写变量名,例如: zeroPad
.若要从方法返回值,请使用 return
在C#中。我不确定你的目的是什么 IsNumeric
子例程或者为什么你通过引用取值,但是你在C#中的代码将类似于:
private string ZeroPad(ref int pNumber, ref int pLength)
{
string padding;
string zeroPad;
if ((IsNumeric(pNumber) && IsNumeric(pLength)))
{
padding = new string('0', pLength);
zeroPad = (padding + pNumber.ToString());
zeroPad = zeroPad.Substring((zeroPad.Length - pLength));
}
else
{
zeroPad = pNumber.ToString();
}
return zeroPad;
}
因为你不改变 pNumber
或 pLength
, ,你可以通过值传递它们(ByVal
在Visual Basic中)。知道两者都是 pNumber
和 pLength
是整数,因此总是数字,您的方法可以缩短为以下内容:
private string ZeroPad(int pNumber, int pLength)
{
string zeroPad;
string padding = new string('0', pLength);
zeroPad = (padding + pNumber.ToString());
zeroPad = zeroPad.Substring(zeroPad.Length - pLength);
return zeroPad;
}
NET Framework的基类库具有 字符串。帕德莱特 如果您指定,该方法完全符合您的要求 '0'
作为价值 paddingChar
.
其他提示
在c#中,您不会分配给方法名称。相反,您使用“返回”语句。声明变量:
string retVal;
.
而不是
ZeroPad = some_value;
.
使用:
retVal = some_value;
.
和最后返回retval:
return retVal;
. 不隶属于 StackOverflow