C# - 如何获取用户在 TextBox 中定义的 long 类型变量并将其用于数学运算
C# - How to get a long type variable defined by user in a TextBox and use it in a mathematical operation
我需要将程序的文本字段视为 LONG 类型变量并在数学运算中进行处理。用户每次都需要指定此变量的值,我希望程序不将该值视为整数,而是将其视为 long。
我已经将其他字段视为整数,它们可以很好地处理这种代码:
HourField.IntValue
现在请注意 .IntValue ,它显然告诉程序要获取 HourField 中的任何内容并将其视为整数。
但不幸的是,如果我尝试编写 .LongValue,实际上没有 long 类型的等价物,C# 只是不识别这个函数....还有其他类似的函数,如 .FloatValue 或 .DoubleValue 等,但没有这样的函数.LongValue 之类的东西。
但是我什至尝试使用这种语法:
Convert.ToInt64(FileSizeBytesField);
或类似的东西,理论上编译器不会给我任何编译错误等。但是如果我尝试通过按下按钮实际进行计算,程序崩溃并且 Visual Studio 告诉我铸造类型无效。
请请帮我解决这个问题。这是我真正完成程序所需要做的最后一件事!!!
P.s。我发布了一些我得到的和我的源代码的截图。谢谢
program's source code
Debugging error in Visual Studio after program crash
您可以使用 Parse,将字符串值转换为 long
long l = long.Parse("453216");
如果你想确保你输入的是一个有效的数字,你可以使用tryParse
if (long.TryParse("45263572", out l) == true)
{
// use long value
}
else
{
// input is not a valid long value... handle the situation here
}
我猜想您要从中获取值的 FileSizeBytesField
是 NSTextField
的实例或 NSControl
的另一个子类。 In that case,您可以使用 IntValue
或 StringValue
等属性获取控件的值。因此,要将值转换为 long
类型,请尝试以下操作:
Convert.ToInt64(FileSizeBytesField.StringValue)
或者,使用 已经建议的更常见的方法:
long fileSizeBytes;
if (long.TryParse(FileSizeBytesField.StringValue, out fileSizeBytes))
{
// use fileSizeBytes
}
我需要将程序的文本字段视为 LONG 类型变量并在数学运算中进行处理。用户每次都需要指定此变量的值,我希望程序不将该值视为整数,而是将其视为 long。
我已经将其他字段视为整数,它们可以很好地处理这种代码:
HourField.IntValue
现在请注意 .IntValue ,它显然告诉程序要获取 HourField 中的任何内容并将其视为整数。 但不幸的是,如果我尝试编写 .LongValue,实际上没有 long 类型的等价物,C# 只是不识别这个函数....还有其他类似的函数,如 .FloatValue 或 .DoubleValue 等,但没有这样的函数.LongValue 之类的东西。 但是我什至尝试使用这种语法:
Convert.ToInt64(FileSizeBytesField);
或类似的东西,理论上编译器不会给我任何编译错误等。但是如果我尝试通过按下按钮实际进行计算,程序崩溃并且 Visual Studio 告诉我铸造类型无效。 请请帮我解决这个问题。这是我真正完成程序所需要做的最后一件事!!!
P.s。我发布了一些我得到的和我的源代码的截图。谢谢
program's source code
Debugging error in Visual Studio after program crash
您可以使用 Parse,将字符串值转换为 long
long l = long.Parse("453216");
如果你想确保你输入的是一个有效的数字,你可以使用tryParse
if (long.TryParse("45263572", out l) == true)
{
// use long value
}
else
{
// input is not a valid long value... handle the situation here
}
我猜想您要从中获取值的 FileSizeBytesField
是 NSTextField
的实例或 NSControl
的另一个子类。 In that case,您可以使用 IntValue
或 StringValue
等属性获取控件的值。因此,要将值转换为 long
类型,请尝试以下操作:
Convert.ToInt64(FileSizeBytesField.StringValue)
或者,使用
long fileSizeBytes;
if (long.TryParse(FileSizeBytesField.StringValue, out fileSizeBytes))
{
// use fileSizeBytes
}