c# - 使用三元运算符c#随机解析枚举器以确定左或右
问题描述
你好 stackoverflow 社区,
我正在做一个项目,并坚持以下。我拥有的是一个公共枚举 HorizontalDirection 类,它确定左或右。我需要做的是用我的三元运算符调用 random.Next(0, 2) 以确定它是否为 0 向左移动,否则如果 1 向右移动。到目前为止,我对以下任何一项都没有任何运气。
Enum.Parse(random.Next(0, 2) == 0 ? HorizontalDirection.Left : HorizontalDirection.Right);
(HorizontalDirection)random.Next(0, 2) == 0 ? HorizontalDirection.Left : HorizontalDirection.Right;
对于比我更有经验的大多数人,我很抱歉花时间在你看来微不足道的事情上。对我来说,这是一个了解为什么我的逻辑失败的机会。
解决方案
您的第二个选项有效。这是一个工作示例。
var l = new List<HorizontalDirection>();
Random r = new Random();
for(int i = 0; i < 1000;i++)
{
var d = r.Next(0, 2) == 0 ? HorizontalDirection.Left : HorizontalDirection.Right;
l.Add(d);
}
Console.WriteLine($"lefts: {l.Count(d => d == HorizontalDirection.Left)}, rights: {l.Count(d => d == HorizontalDirection.Right)}");
输出
lefts: 468, rights: 532
推荐阅读
- npm - 为什么我需要与 react-redux 一起安装 redux?
- .htaccess - 有条件地在 .htaccess 中设置 Files 指令
- ruby-on-rails - Heroku 文件存在吗?找不到刚刚保存的文件
- python-3.x - 如何在 scikit-learn 中编写一个自定义转换器,它将有条件地在不同的类之间切换
- docker - 如何从 Windows 的 docker 容器内部连接另一台机器?
- asp.net-core - 在launchSettings.json 中计算launchUrl?
- arrays - ReactJS Hooks 用另一个数组更新一个数组
- java - 升级到 java 12 后,使用什么语法以及用于 surefire 插件和 maven 的内容
- java - java.net.HttpURLConnection URL 中 userinfo 的安全隐患
- node.js - 适用于 Windows 7 的 NodeJS