我想轉換VB C# 到C# 無需使用 using Microsoft.VisualBasic; using Microsoft.VisualBasic.CompilerServices;
我卡在If Bool 判斷部分和Operators除法。
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
public string SetBytes(object Bytes)
{
string SetBytesRet = default;
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(Bytes, 1073741824, false)))
{
SetBytesRet = Strings.Format(Operators.DivideObject(Operators.DivideObject(Operators.DivideObject(Bytes, 1024), 1024), 1024), "#0.00") + " GB";
}
else if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(Bytes, 1048576, false)))
{
SetBytesRet = Strings.Format(Operators.DivideObject(Operators.DivideObject(Bytes, 1024), 1024), "#0.00") + " MB";
}
else if (Conversions.ToBoolean(Operators.ConditionalCompareObjectGreaterEqual(Bytes, 1024, false)))
{
SetBytesRet = Strings.Format(Operators.DivideObject(Bytes, 1024), "#0.00") + " KB";
}
else if (Conversions.ToBoolean(Operators.ConditionalCompareObjectLess(Bytes, 1024, false)))
{
SetBytesRet = Conversions.ToString(Operators.ConcatenateObject(Conversion.Fix(Bytes), " Bytes"));
}
return SetBytesRet;
}
同楼上所说,你先把 using Microsoft.VisualBasic 和 using Microsoft.VisualBasic.CompilerServices 这两个引用删掉,然后看一下都有哪些报错,再把报错的地方的做用贴上来,大家一起看一下如何解决。
目前已知的 Microsoft.VisualBasic.CompilerServices 这里面上面的代码中好像是用的转换,看一下,如果是这个引起的 可以用 C# 的 Convert 或者 string.Format 问题应该不难解决。
去掉VB的using,改写语句,VB改为C#,
代码中判断表达式要看函数是你自编的还是系统本身的?如果是系统本身,去掉using之后就会提示错误,根据你的功能要求改为c#函数即可