类型转换、三元表达式、枚举、随机数

1类型转换:

1
2
3
4
5
6
7
8
9
10
11
//将string类型的123转为int类型的123
           //方式1
           int number1 = Convert.ToInt32("123");
           Console.WriteLine(number1);
           //方式2
           int number2 = int.Parse("456");
           Console.WriteLine(number2);
           //转换失败
           //int number3 = Convert.ToInt32("123aaa"); //"123abc"无法转换为int类型
           //Console.WriteLine(number3);
           Console.ReadKey();

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//所有的类型都能够转换成string类型,调用ToString()
           int n1 = 11 ;
           Console.WriteLine(n1);
           Console.WriteLine(n1.GetType());
           string s1 =n1.ToString();
           Console.WriteLine(s1.GetType());
 
           decimal n2 = 5000m;
           Console.WriteLine(n2);
           Console.WriteLine(n2.GetType());
           string s = n2.ToString();
           Console.WriteLine(s.GetType());
 
           Console.ReadKey();

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//TryParse判断是否转换成功,输出false或true<br>class Program
    {
        static void Main(string[] args)
        {<br>       //方式一
            int num;
            bool b = int.TryParse("123abc", out num);
            Console.WriteLine(num);//思考为什么是int类型的0,后面却是bool类型的false
            Console.WriteLine(b);
 
            //方式二
            int result;
            bool c = MyTryParse("234",out  result);
            Console.WriteLine(c);
            Console.ReadKey();
        }<br>
    //TryPares的本质如下
        public static bool MyTryParse(string s, out int result)
        {<br>      //out 必须在方法中赋值,计算后的新数据又被带出方法
            result = 0;
            try
            {
                result = Convert.ToInt32(s);
                return true;
            }
            catch
            {
                return false;
            }
        }
 
 
    }

 

2随机数

1
2
3
4
5
6
7
8
//产生随机数
               //1、创建能够产生随机数的对象
               Random r = new Random();
               //2、让产生随机数的这个对象调用方法来产生随机数
               //3产生一个1-100内的随机数
               int rNumber = r.Next(1, 100);
               Console.WriteLine(rNumber);
               Console.ReadKey();

 

3、三元表达式

语法: 表达式1?表达式2:表达式3; 表达式1一般为一个关系表达式。

如果表达式1的值为true,那么表达式2的值就是整个三元表达式的值。

如果表达式1的值为false,那么表达式3的值就是整个三元表达式的值。

注意:表达式2的结果类型必须跟表达式3的结果类型一致,并且也要跟整个三元表达式的结果类型一致。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//例1    <br>         int x = 1 > 2 ? 11:12;
          int x2 = 1 < 2 ? 11 : 12;
          int y = 1 ==1 ? 11 : 12;
          Console.WriteLine(x);
          Console.WriteLine(x2);
          Console.WriteLine(y);
          Console.ReadKey();
//例2
          //计算两个数字的大小 求出最大的
          //Console.WriteLine("请输入第一个数字");
          //int n1 = Convert.ToInt32(Console.ReadLine());
          //Console.WriteLine("请输入第二个数字");
          //int n2 = Convert.ToInt32(Console.ReadLine());
          //int max = n1 > n2 ? n1 : n2;
          //Console.WriteLine(max);
          ////相当于
          //if (n1 > n2)
          //{
          //    Console.WriteLine(n1);
          //}
          //else
          //{
          //    Console.WriteLine(n2);
          //}
          //Console.ReadKey();

 

4枚举
语法:
[public] enum 枚举名
{
值1,
值2,
值3,
........
}
public:访问修饰符。公开的公共的,哪都可以访问。
enum:关键字,声明枚举的关键字
枚举名:要符合Pascal命名规范
将枚举声明到命名空间的下面,类的外面,表示这个命名空间下,所有的类都可以使用这个枚举。
枚举就是一个变量类型 ,类似于int double  string  decimal.只是枚举声明、赋值、使用的方式跟那些普通的变量类型不一样。
我们可以将一个枚举类型的变量跟int类型和string类型互相转换。
枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换的语法互相转换。
当转换一个枚举中没有的值的时候,不会抛异常,而是直接将数字显示出来。
枚举同样也可以跟string类型互相转换,如果将枚举类型转换成string类型,则直接调用ToString().
如果将字符串转换成枚举类型则需要下面这样一行代码:
(要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),"要转换的字符串");
如果转换的字符串是数字,则就算枚举中没有,也会不会抛异常。
如果转换的字符串是文本,如果枚举中没有,则会抛出异常。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
namespace _02Gender
{
    //声明了一个枚举,取名 Gender
    public enum Gender
    {
        男,
        
    }
 
    public enum Day
    {
        星期一 =0,
        星期二 =1,
        星期三 =2,
        星期四 =3,
        星期五 =4,
        星期六 =5,
        星期日 =6
    }
    class Program
    {
 
        static void Main(string[] args)
        {
 
 
            Gender gender1 = Gender.男;
            Console.WriteLine(gender1);
            Gender gender2 = Gender.女;
            Console.WriteLine(gender2);
            //枚举一般用于限定输入,避免同一意思不同的表达带来的混乱。
            //例如“男人”,“爷们儿”,“小伙子”,“man”....
 
             Day  Monday = Day.星期一;<br>            Console.WriteLine(Monday);<br>            Console.WriteLine((int)Monday);<br>            Console.WriteLine(Day.星期一);<br>            Console.WriteLine((int)Day.星期一);<br>            Console.ReadKey();<br><br><br>       //枚举详情<br>            //http://www.cnblogs.com/kissdodog/archive/2013/01/16/2863515.html <br>
        }
    }

 

posted @   hao_1234_1234  阅读(456)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示