写一个C#枚举类,存三个double类型的数字(28.4,28.3,28.5)
时间: 2023-10-05 19:09:51 浏览: 79
可以像这样定义一个C#枚举类,存储三个double类型的数字:
```csharp
public enum Numbers
{
Num1 = 28.4,
Num2 = 28.3,
Num3 = 28.5
}
```
注意,C#中的枚举类型是一种整数类型,不能直接存储浮点数。上述代码中,我们使用了枚举成员的赋值特性,将浮点数赋值给枚举成员。不过,在使用时,我们需要使用强制类型转换将枚举成员的值转换为double类型。例如:
```csharp
double num1 = (double)Numbers.Num1;
double num2 = (double)Numbers.Num2;
double num3 = (double)Numbers.Num3;
Console.WriteLine(num1); // 输出28.4
Console.WriteLine(num2); // 输出28.3
Console.WriteLine(num3); // 输出28.5
```
相关问题
C#定义一个可以转换成多个枚举类型的类型
在C#中,可以使用枚举类型的 [Flags] 特性来定义一个可以转换成多个枚举类型的类型。例如:
```
[Flags]
public enum MyEnum
{
None = 0,
Option1 = 1,
Option2 = 2,
Option3 = 4,
Option4 = 8,
All = Option1 | Option2 | Option3 | Option4
}
```
在这个示例中,使用 [Flags] 特性将 MyEnum 类型标记为可转换成多个枚举类型。然后,定义了几个枚举成员,每个成员都是一个二进制位,表示一个选项。最后,定义了一个名为 All 的枚举成员,它将所有选项组合在一起。
使用该枚举类型时,可以使用位运算符来组合和分解选项。例如:
```
MyEnum options = MyEnum.Option1 | MyEnum.Option3;
if ((options & MyEnum.Option1) != 0)
{
Console.WriteLine("Option1 is selected.");
}
if ((options & MyEnum.Option2) != 0)
{
Console.WriteLine("Option2 is selected.");
}
```
在这个示例中,使用位运算符 | 将 Option1 和 Option3 组合在一起,然后使用位运算符 & 分解选项并测试每个选项是否已被选中。
写一个c#的猜数字游戏
好的,以下是一个简单的猜数字游戏的 C# 代码示例:
```csharp
using System;
namespace GuessNumberGame
{
class Program
{
static void Main(string[] args)
{
Random random = new Random();
int secretNumber = random.Next(1, 101);
int guess = 0;
int guessCount = 0;
Console.WriteLine("猜数字游戏!");
Console.WriteLine("请输入一个 1 到 100 之间的数字:");
while (guess != secretNumber)
{
string input = Console.ReadLine();
if (!int.TryParse(input, out guess))
{
Console.WriteLine("无效输入,请输入一个数字。");
continue;
}
guessCount++;
if (guess < secretNumber)
{
Console.WriteLine("猜小了,请再试一次。");
}
else if (guess > secretNumber)
{
Console.WriteLine("猜大了,请再试一次。");
}
else
{
Console.WriteLine("恭喜你,你猜对了!");
Console.WriteLine($"你一共猜了 {guessCount} 次。");
}
}
Console.WriteLine("按任意键退出。");
Console.ReadKey();
}
}
}
```
这个程序会随机生成一个 1 到 100 之间的秘密数字,并提示玩家猜这个数字。玩家可以输入一个数字进行猜测,程序会告诉玩家猜大了还是猜小了。当玩家猜对时,程序会告诉玩家猜了多少次,并等待用户按下任意键退出程序。