C# 中条件简写类似于 SQL 'in' 关键字

2023-11-26

在 C# 中是否有一种简写方式可以这样写:

public static bool IsAllowed(int userID)
{
    return (userID == Personnel.JohnDoe || userID == Personnel.JaneDoe ...);
}

Like:

public static bool IsAllowed(int userID)
{
    return (userID in Personnel.JohnDoe, Personnel.JaneDoe ...);
}

我知道我也可以使用 switch,但是我必须编写大约 50 个这样的函数(将经典 ASP 站点移植到 ASP.NET),所以我希望它们尽可能短。


这个怎么样?

public static class Extensions
{
    public static bool In<T>(this T testValue, params T[] values)
    {
        return values.Contains(testValue);
    }
}

Usage:

Personnel userId = Personnel.JohnDoe;

if (userId.In(Personnel.JohnDoe, Personnel.JaneDoe))
{
    // Do something
}

我不能将此归功于此,但我也不记得我在哪里看到过它。所以,感谢你,匿名的互联网陌生人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 中条件简写类似于 SQL 'in' 关键字 的相关文章

  • 通过 SocketCAN 进行 boost::asio

    我正在考虑利用升压阿西奥 http www boost org doc libs 1 49 0 doc html boost asio html从a读取数据套接字CAN http en wikipedia org wiki SocketCA
  • QCombobox 向下箭头图像

    如何更改Qcombobox向下箭头图像 现在我正在使用这个 QSS 代码 但这不起作用 我无法删除向下箭头边框 QComboBox border 0px QComboBox down arrow border 0px background
  • 为什么在创建矩阵类时使用向量不好?

    对于我的矩阵类 我做了 template
  • 在 Xamarin 中隐藏软键盘

    如何隐藏软键盘以便在聚焦时显示Entry在 Xamarin forms 便携式表单项目中 我假设我们必须为此编写特定于平台的渲染器 但以下内容不起作用 我创建自己的条目子类 public class MyExtendedEntry Entr
  • VS 程序在调试模式下崩溃,但在发布模式下不崩溃?

    我正在 VS 2012 中运行以下程序来尝试 Thrust 函数查找 include cuda runtime h include device launch parameters h include
  • 读取 C# 中的默认应用程序设置

    我的自定义网格控件有许多应用程序设置 在用户范围内 其中大部分是颜色设置 我有一个表单 用户可以在其中自定义这些颜色 并且我想添加一个用于恢复默认颜色设置的按钮 如何读取默认设置 例如 我有一个名为的用户设置CellBackgroundCo
  • 单例模式和 std::unique_ptr

    std unique ptr唯一地控制它指向的对象 因此不使用引用计数 单例确保利用引用计数只能创建一个对象 那么会std unique ptr与单例执行相同 单例确保只有一个实例属于一种类型 A unique ptr确保只有一个智能指针到
  • C# 构建一个 webservice 方法,它接受 POST 方法,如 HttpWebRequest 方法

    我需要一个接受 POST 方法的 Web 服务 访问我的服务器正在使用 POST 方法 它向我发送了一个 xml 我应该用一些 xml 进行响应 另一方面 当我访问他时 我已经使用 HttpWebRequest 类进行了管理 并且工作正常
  • C++ php 和静态库

    我创建了一个library a 其中包含 cpp 和 h 文件 其中包含很多类 嵌套类和方法 我想在 php 示例中包含这个静态库并尝试使用它 我想提一下 我是 php 新手 我已经在 test cpp 文件中测试了我的 libray a
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 运行选定的代码生成器时出错:“未将对象引用设置到对象的实例。”错误?

    我已经尝试了所有解决方案 例如修复 VS 2013 但没有用 当您通过右键单击控制器文件夹来创建控制器并添加控制器时 然后右键单击新创建的控制器的操作并选择添加视图 当我尝试创建视图时 就会发生这种情况 它不是一个新项目 而是一个现有项目
  • 将标量添加到特征矩阵(向量)

    我刚刚开始使用 Eigen 库 无法理解如何向所有矩阵成员添加标量值 假设我有一个矩阵 Eigen Matrix3Xf mtx Eigen Matrix3Xf Ones 3 4 mtx mtx 1 main cxx 104 13 error
  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • 我可以让 ungetc 取消阻止阻塞的 fgetc 调用吗?

    我想在收到 SIGUSR1 后使用 ungetc 将 A 字符重新填充到标准输入中 想象一下我有充分的理由这样做 调用 foo 时 stdin 中的阻塞读取不会被收到信号时的 ungetc 调用中断 虽然我没想到它会按原样工作 但我想知道是
  • 列表过滤器内的 Java 8 lambda 列表

    示例 JSON id 1 products id 333 status Active id 222 status Inactive id 111 status Active id 2 products id 6 status Active
  • 新任务中使用的依赖注入服务

    我在需要时使用依赖项注入来访问我的服务 但我现在想要创建一个并发任务 但这会由于依赖项注入对象及其生命周期而导致问题 我读过这篇文章 标题 防止多线程 Link http mehdi me ambient dbcontext in ef6
  • 每个数据库多个/单个 *.edmx 文件

    我有一个通过 ADO net 数据服务与数据库交互的项目 数据库很大 近 150 个具有依赖关系的表 该项目几年前开始 当时使用的是数据集 现在我们正在转向实体模型关系 由于我们添加了更多需要使用的表 该模型正在不断增长 这是管理这一切的正
  • 您是否将信息添加到每个 .hpp/.cpp 文件的顶部? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 创建新的 C 头文件 源文件时 您会在顶部添加哪些信息 例如 您是否添加日期 您的姓名 文件描述等 您是否使用结构化格式来存储此信息 e g F
  • 使我的 COM 程序集调用异步

    我刚刚 赢得 了在当前工作中维护用 C 编码的遗留库的特权 这个dll 公开使用 Uniface 构建的大型遗留系统的方法 除了调用 COM 对象之外别无选择 充当此遗留系统与另一个系统的 API 之间的链接 在某些情况下 使用 WinFo
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • 如何在 UIDatePicker 中仅禁用日期选择而不是时间选择

    我在我的应用程序中使用 UIDatePicker 我想仅禁用其中的日期选择 并且时间选择不应受到影响 谁能帮我这个 Set the datePickerMode to UIDatePickerModeTime
  • 使用与密钥相同的字符串加密字符串是否安全?

    在 CBC 模式下使用 AES 并使用 IV 当然 对给定密钥本身进行加密是否存在任何安全缺点 遵循以下原则 密钥是秘密的 IV 是公开的 因为这不会影响加密的安全性 然而 潜在的攻击者将会知道 因为他可以访问源代码 该字符串使用其自身作为
  • 具有相机意图和图像选择器意图的选择器

    我创建了一个选择器 用于从文件中选择图像或制作图片 我使用的代码在 Nexus 5 上运行良好 但是当我在 Samsung S5 上尝试时 选择器不显示相机图标 public Intent makePhotoIntent String ti
  • docker 互联网连接 iptables=false

    我放弃 我在 ubuntu 16 04 下使用 Docker 1 12 0 并使用 UFW 进行强化 该机器有 2 个接口 一个公共 eth0 和一个专用网络 eth1 Server Version 1 12 3 Storage Drive
  • 如何仅使用 CSS 获得悬停效果

    我已经得到了圆圈部分 我在 div 上设置了黑色的背景颜色 对于文本 我设置了 a hover 作为显示的颜色 我只是不知道如何为 div 设置 a hover 以及仅针对该周长 这是我的代码 HTML a class cirlink hr
  • 静态成员的两个实例,怎么可能?

    我有一个多线程应用程序 我在共享库中声明一个具有静态成员的类 从不同库的不同线程打印成员的地址会显示不同的结果 宣言 template
  • 指令在 ng-repeat 绑定的 内不起作用

    我有一个表 其中的行通过重复ng repeat 我正在尝试创建一个生成列的模板 td 对于每一行 tr app directive customtd function return restrict E template td positi
  • 来自 AngularJS Get for JSON 的 HTTP 状态 0

    我正在为 JSON 运行 http get 并且状态为 0 我已经下载了相同的 JSON 并且 get 在本地工作 并且在 Python 中使用请求库我可以毫无问题地获取 JSON 但是在AngularJS 不起作用 我不明白的是为什么 A
  • 在 macOS 的 SwiftUI 中更改 TextEditor 背景颜色

    我想更改 macOS 上 SwiftUI 文本编辑器的背景颜色 下面的代码 用于 iOS 是否有一个变体适用于 NSTextField 而不是 UITextView Thanks struct ContentView View init U
  • 社交网络应用程序数据库设计:如何改进此架构?

    背景 我正在为诗人和作家开发一款社交网络应用程序 让他们能够分享诗歌 收集反馈并与其他诗人交流 我很少接受过数据库设计方面的正式培训 但我一直在阅读书籍 SO 和在线数据库设计资源 试图在不过度设计的情况下确保性能和可扩展性 数据库是MyS
  • 复杂数据类型的 Typedef

    我试图从语法的角度理解 C 如何处理复杂 typedef 的底层机制 请考虑下面的示例 问题末尾包含参考文献 typedef int p1d 10 是正确的声明 即 p1d 这里是指向数组的指针 10 个整数 就像使用 Array 类型声明
  • Angular 2 下载文件:结果损坏

    我正在尝试使用 Angular 2 TypeScript 和 Web API 下载文件 我遇到的问题是 当下载文本文件时 该文件是文件 但是当尝试下载 PDF 文件时 例如 它已损坏 下载的文件内容都是乱码废话 我使用的 TypeScrip
  • 如何在 Python 中存储变量/首选项以供以后使用

    我正在用 Python 编写 Windows 程序 并且希望保存变量和用户首选项 以便即使在程序终止并重新启动后我也可以调用它们 有没有在 Windows 机器上执行此操作的理想方法 会 winregWindows 注册表适合这项任务吗 或
  • C++ 运算符重载的多态性

    如何使纯虚函数成为运算符 功能 我在基课上喜欢这个吗 int运算符 0 编译器给出错误 在派生类中operator 函数 编译器说派生类不能 make 因为下面的类是抽象的 我知道我无法创建抽象类的对象 但现在我尝试创建派生类对象 这是代码
  • Django 和 Postgres - 百分位数(中位数)和分组依据

    我需要计算每个卖家 ID 的期间中位数 参见下面的简化模型 问题是我无法构建 ORM 查询 Model class MyModel period models IntegerField null True default None sell
  • Django 设计登录表单并添加额外的跨度

    我有两个关于表单样式的问题 对于我的登录 我使用 Django 的默认身份验证功能 并且没有手动编写任何视图或表单 urls py urlpatterns patterns django contrib auth views url r l
  • 在 Centos 6 上安装最新的 mono

    我是 Linux 新手 字面意义上的新手 用过几次 我尝试通过 yum 安装 mono 但我得到了一个不支持 NET 4 的过时版本 如何安装单声道 2 10 8 好吧 这就是我想出的并且它对我有用 基于this文章 yum install
  • Node.js 服务器向 404.html 页面发送“404 未找到”消息

    我正在使用 node js 我想知道如何显示 404 html 而不是 404 Not Found 消息 这是我的 server js var http require http url require url path require p
  • java.lang.NoClassDefFoundError: org/apache/http/conn/scheme/SchemeSocketFactory

    我尝试通过 AWS 凭证发送邮件 但出现异常 java lang NoClassDefFoundError org apache http conn scheme SchemeSocketFactory 我添加了这些罐子 aws java
  • C# 中条件简写类似于 SQL 'in' 关键字

    在 C 中是否有一种简写方式可以这样写 public static bool IsAllowed int userID return userID Personnel JohnDoe userID Personnel JaneDoe Lik