- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在一个项目中反复遇到过这种模式:
int myIntValue = int.Parse(myNumericUpDown.Value.ToString());
这对我来说似乎有点疯狂,从十进制中获取一个字符串,然后解析该字符串以获取一个 int,我想知道我是否遗漏了什么需要它。看来必须刻意才行。是否有应该使用而不是显而易见的方法的原因:
int myIntValue = (int)myNumericUpDown.Value;
或者:
int myIntValue = Convert.ToInt32(myNumericUpDown.Value);
最佳答案
当然,我们无法了解最初编写该代码的程序员的想法,但是通过字符串进行数字转换对于新程序员来说是很常见的。大概他们先写了
int myIntValue = myNumericUpDown.Value
遇到编译器错误,找到 Int32.Parse
并将各个部分放在一起。
确实没有理由根本首先将其转换为字符串,然后从中解析一个整数 - 如果有的话,它是低效且难以阅读的。
事实上请注意,如果出于某种原因 ToString
给出了一个实际的十进制数(例如 3.0
而不是 3
),代码将抛出未捕获的 System.FormatException
。假设您在运行时没有看到该异常,我推断控件的设置使得 Value
属性始终是一个整数,而不是像 1.932
这样的东西,因此我认为将它作为整数获取的最快方法是硬转换
int myIntValue = (int)myNumericUpDown.Value;
(并添加一个 try/catch
以防您的表单设计者搞砸并将控件的初始值设置为 0.5
)。
关于c# - 为什么是 int.Parse(NumericUpDown.Value.ToString())?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29128757/
伙计们,如果我的 XAML 中有 2 个数字 updown,就像这样 我希望根据第一个 numericupdown 值更改第二个 numericupdown 值。我试着把它放在后面的代码中。 pr
我正在尝试 NumericUpDown 控件,但对其灵活性有疑问。基本上,我想做的是显示年份范围,如下所示: 2006-2007;2007-2008;2008-2009;2009-2010 显然,我希
我一直在尝试调试一个表单大约 15 个小时,终于发现了问题所在。似乎所有 NumericUpDown 控件都有一个关联的未命名的 TextBox 控件。我的问题可以重现如下: 使用单一表单创建一个新项
当我使用 numbericupdown 对象并将 thousandsseperator 设置为 true 时,它只会在失去焦点时更新文本以正确显示逗号。有没有办法在每次更改值时强制它刷新? 最佳答
我的类(class)中有一个NumericUpDown 变量。 最小和最大值设置如下: myNumericUpDown.Maximum = 9999; myNumericUpDown.Minimum
我正在使用 WPF 扩展工具包。 NumericUpDown 控件能够输入十六进制值,但我看不到以十六进制格式显示值的方法/属性。 有一个 FormatString,但它包含货币、百分比等内容,而不是
我正在修改带有触摸屏界面的 Winform 应用程序。它在 GUI 中有很多带有大字体的 NumericUpDown 控件。但是每个控件仍然有一个手指的微小向上/向下箭头。有没有办法让箭头变大?或者箭
如果您创建一个新的 C# 项目并在表单上放置一个 NumericUpDown(或者甚至是一个文本框)是否无法取消选择? 目前,我的应用程序有一个可滚动的容器,当用户选择 NumericUpDown 时
我最近需要编写一个版本的 Windows NumericUpDown 控件,它可以突出显示某个值是否是必需的。它需要通过更改控件的背景颜色来实现。我认为这已经足够简单了,但在尝试这样做时,我发现它有一
如果之前有人回答过这个问题,我很抱歉。我四处搜索,找不到合适的答案。 我有一个接受用户输入的 numericupdowncontrol。现在我已将 decimalPlaces 属性设置为 2。如果用户
我在将 numericupdown 值传递给整数时遇到问题。 private void button5_Click(object sender, EventArgs e) { int coun
有一种方法可以强制 c# NumericUpDown 接受逗号和点,以分隔十进制值? 我已经自定义了一个文本框来执行此操作(实际上是用逗号替换点),但令我惊讶的是没有其他方法.. This问题解释了如
我想交换 NumericUpDown 控件上的向上箭头和向下箭头(只是功能,不是实际的箭头)。例如,单击向上箭头时,值应减少,类似地,单击向下箭头时,值应增加。 我试图从 NumericUpDown
我对 C# 很陌生,有一个问题。我已经能够通过将它们的 FlatStyle 更改为“Flat”来更改按钮等的边框颜色。使用 NumericUpDown,我无法更改 FlatStyle。我希望仍然能够使
我正在尝试制作一个小披萨订单,但我在计算时遇到了问题。选择披萨后,单价和合计计算都可以,但是选择加法就引入了问题。更改 NumericUpDown 值后,卡路里不正确(所有单位都具有不变的价格和卡路里
如何设置 NumericUpDown 控件以将值显示为百分比? 最佳答案 您必须派生自己的自定义控件并覆盖 UpdateEditText()方法。在此期间,让我们覆盖默认值 Minimum , Max
如何检查用户是否将 NumericUpDown 控件留空,从而删除其上的值?所以我可以将它重新分配为 0。 最佳答案 if(NumericUpDown1.Text == "") { // I
在我的 winform 应用程序上,我尝试对必填字段进行颜色编码。在用户编辑时,当必填字段被填写时,背景变为浅绿色,如果必填字段为空,则背景为红色。某些字段的启用和禁用取决于其他字段中的输入,因此有时
我们在应用程序中使用 Telerik RadNumericUpDown 控件(2013 版)来显示和编辑 double 值和整数; 该控件对于可为 null 的 double 类型效果很好:对于 nu
使用键盘上的数字输入值时不会激活事件。它仅在您使用向上和向下箭头时激活。我想要的是,它必须像文本框 textchanged 事件一样在每次键盘敲击时激活。 我尝试了几件事,但用户必须按 Enter 才
我是一名优秀的程序员,十分优秀!