c# - c#中运算符的问题

标签 c# vb.net operators vb.net-to-c#

我正在将 vb 代码转换为 c#

有来自 telerik 库的枚举:

namespace Telerik.Windows.Controls
{
    // Summary:
    //     Provides flags for enumerating the ViewModes supported by Telerik.Windows.Controls.RadScheduler.
    [Flags]
    public enum AvailableViewModes
    {
        // Summary:
        //     Enables Day view.
        Day = 1,
        //
        // Summary:
        //     Enables Week view.
        Week = 2,
        //
        // Summary:
        //     Enables Month view.
        Month = 4,
        //
        // Summary:
        //     Enables Timeline view.
        Timeline = 8,
        //
        // Summary:
        //     Enables All views.
        All = 15,
    }
}

vb中的代码是

cal.AvailableViewModes = cal.AvailableViewModes And Not AvailableViewModes.All

转换器返回我

cal.AvailableViewModes = cal.AvailableViewModes & !AvailableViewModes.All

这是不正确的,因为不能应用运算符!此枚举的操作数。

最佳答案

使用 ~ 运算符翻转位。

关于c# - c#中运算符的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7193429/

相关文章:

c# - 为什么在使用 Environment.Exit() 时需要返回,而不是抛出的异常?

c# - 如何使用 asp.net mvc View 返回 404

postgresql - ~~ Postgres 中的运算符

c++ - Operator = 在 C++ 中使用 Const 变量重载

c# - 如何检查我的程序是否以 admin/sudo C#/.NET Core 身份运行

C#列表列表问题

mysql - 为什么 cmbStream.ValueMember = "id"对所有值显示零,而 cmbStream.DisplayMember = "name"显示正确的值

未定义 MySqlConnection

.net - 如何将消息从一个程序传递到另一个程序?

c - 有没有办法预测未定义的行为或实现定义的行为?