c# 运算符

自增自减运算符:

c# 运算符_第1张图片

分析下边代码:

n1 ++ 相当于先把n1的值赋值给res1,之后n1 ++ ,n1结果为3,然后执行 ++ n1,相当于++3,res2结果为4,所以最后打印结果:res1为2, res2为4。 

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            int n1 = 2;
            int res1 = n1++;
            int res2 = ++n1;
            Console.WriteLine(res1); // 2
            Console.WriteLine(res2); // 4
            Console.ReadLine();
        }
    }
}

 

关系运算符:

这里只说下等号(==),返回的是bool值 

( 只有相同类型值才可以比较,否则会报错!!!)

c# 运算符_第2张图片

 

逻辑运算符:

&&(&)、||(|)、!

注意即可使用两个&,也可以使用一个&;| 同上。

 

条件运算符:

 也就是三目运算(也可以嵌套使用,跟js一样):

判断 ? 结果1 : 结果2;

 

类型转化:

先来看下下边几个表达式,最后我们把double类型的数值赋值给int整数类型d,会报错,原因:double类型精度要比int类型高! c# 运算符_第3张图片

 错误提示:

c# 运算符_第4张图片

 

 

隐式类型转化:(从低往高转换 - 从范围小的到范围大的转换)

在某种情况下,系统会自动完成类型转换(即隐式类型转换)

(1)两种类型兼容:如,double兼容int类型

(2)目标类型精度大于源类型:如,double类型大于int类型

(关于隐式类型转换以后会详细补充!)

 

显示类型转换:(从高往低转换)

(1) 强制类型转换:在需要转换的值前边加小括号,里边是需要转换的类型:

(如果数据错误,不会提示错误信息)

int a = (int)10.2;
double b = 10.5;
int c = (int)a;
Console.WriteLine(a); // 10
Console.WriteLine(c); // 10

 下边输出结果令人失望,因为long类型的值超出了int值的范围,发生数据溢出错误,我们可以使用第二种方式类转化:见(2)

c# 运算符_第5张图片

***(2) Convert.To类型名 (表达式)

(此方法可以对数据类型进行显示转换,如果数据出现错误或溢出,会提示错误信息,开发中会很容易发现问题所在!!)

c# 运算符_第6张图片

c#中的 几个转换的函数:

(1)Parse()

- 专门为了解析字符串的

string a = "123";
string b = "123";
int n = int.Parse(a) + int.Parse(b); 
Console.WriteLine(n); // 246

(2)TryParse()

(3)ToString()  非常常用

- 把别的类型转换为字符串类型

int a = 1;
Console.WriteLine(a.ToString()); 

 

 

运算符的优先级:

左后一栏箭头方向表示从左向右运算 或者 从右向左运算:

c# 运算符_第7张图片

从右向左开始计算:

c# 运算符_第8张图片

其他运算符是从左向右计算。

在实际开发中,如果不熟悉运算符优先级,可以使用小括号进行分解,此方法也可以提高代码阅读性!

 

 

 

你可能感兴趣的:(c#)