【问题标题】:Convert bool to int in a Radio Button在单选按钮中将 bool 转换为 int
【发布时间】:2017-07-30 12:46:47
【问题描述】:

我以前从未使用过单选按钮。我有一个 datagridview,我在表单中添加了 3 个单选按钮来填充所有数据,即活动数据和非活动数据。 这就是我所要求的 is active 单选按钮,但它不想将 bool 转换为 int。

private void rbIsActive_CheckedChanged(object sender, EventArgs e)
{
    string searchText = txtSearchText.Text;
    //bool sActive = true;
    //int i = sActive ? 1 : 0;
    bool IsActive = Convert.ToInt32(rbIsActive.Checked);
    var listBooks = GetBooks(searchText);
    grdBooks.DataSource = listBooks;
}

我做错了什么?

【问题讨论】:

  • 你想要达到什么样的输出? 1 或 0 代表真假?
  • 另外,您为什么要尝试将bool 转换为int 然后分配给bool
  • 我做错了什么? 尝试将已经是布尔值的内容转换为 int 以将其分配给布尔值。 bool IsActive = rbIsActive.Checked;。当一个复选框就足够时,可能会使用三个单选按钮。 IsActive 只能有两个值,对吧? (主动,或真,不主动,或假)。这就是复选框的具体含义:选中(true)或未选中(false)。
  • 从您的代码中删除“Convert.ToInt32”。它会起作用的。

标签: c# winforms


【解决方案1】:

不要转换为 int,主要是因为您将其分配给 bool 变量。

【讨论】:

  • 如果我想显示“true”,我应该如何转换它?
  • @SMG IsActive.ToString() ?
  • 无法将类型'string'隐式转换为'int'
【解决方案2】:

在这一行:

bool IsActive = Convert.ToInt32(rbIsActive.Checked);

您将布尔值转换为 int 并尝试将其保存到 bool 变量中。这显然行不通。

【讨论】:

    猜你喜欢
    • 2017-02-24
    • 1970-01-01
    • 2012-01-14
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    • 2011-09-28
    • 1970-01-01
    相关资源
    最近更新 更多