C#中常用的运算符总结
作者:laozhang 发布时间:2023-10-10 04:09:32
标签:C#,运算符
在C#中常用到的运算符有条件运算符,is运算符,as运算符,typeof 运算符等等,接下来在文章中将为大家具体介绍各个运算符的使用方法
条件运算符
条件运算符用( ?: )来表示
condition ? X:Y
上述的语句表示的是如果条件为真 ? 则为 X : 否则为 Y
条件运算符可以称为三元运算符,是if..else 的简化形式。首先先判断一个条件,如果条件为真,返回第一个值,否则返回第二个值。恰当
的使用三元运算符可以使程序更加简洁。
as运算符
as运算符表示的是强制转换,即便是转换失败了也不会抛出异常。需要注意以下两个问题
(1)它只能用于引用类型
(2)当转换不成功时则返回null值
例:
object a = "str";
object b = 5;
string c = a as string;//返回的是string
string d = b as string;//返回的是null
is运算符
is 运算符是用来判断变量是否是特定的类型或者是派生自该类型,是就返回 true,否则返回 false
例:
int a=1;
bool type = a is long;
返回的是false,因为int不是long型而且也不派生自long
typeof 运算符
typeof 运算符是用于返回 class 的类型,也可以用于开放式泛型类型。具有多个类型参数的类型必须在规范中具有适当数量的逗号。
Type a = typeof(AAA);
AAA aa = new AAA();
Type b = aa.GetType()
注意:typeof 和 GetType() 有相同的作用,区别在于typeof 的参数是类型,GetType() 的参数是类型的变量
sizeof 运算符
sizeof 运算符是用于返回栈中值类型所需的长度(单位:字节)
int a = sizeof(int); // 4
int 是 32 位的,占 4 个字节,1 个字节是 8 位
注意:sizeof 一般用来获取基本类型(整数,浮点数,字符类型,布尔类型)的所占字节数
总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。
0
投稿
猜你喜欢
- 这篇文章主要介绍了JAVA泛型的继承和实现、擦除原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 重新认识 Java 的 System.in以前也写过不少命令行的程序,处理文件时总需要通过参数指定路径,直到今天看资料时发现了一种我自己从来
- 这篇文章主要介绍了java接口私有方法实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 这篇文章主要介绍了Spring ApplicationListener * 用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具
- 1. 用indexof的方法:public class Test11 {private static int counter = 0;/**
- 单例模式算是设计模式中最容易理解,也是最容易手写代码的模式,但是其中涉及的知识点却一点也不少,所以经常作为面试题来考。一般单例都是五种写法:
- 1 线程池的优势总体来说,线程池有如下的优势:(1)降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。(2)提高响应速度。
- 注解@Validated和BindingResult对入参非空校验在项目当中少不了入参校验,服务器和浏览器互不信任,不能因为前端加入参判断了
- 前言一般数据库的表结构都会有update_time,修改时间,因为这个字段基本与业务没有太大关联,因此开发过程中经常会忘记设置这两个字段的值
- class MyThreadScopeData { // 单例 &nbs
- 资源下载:点此下载一、语言和环境1.实现语言: JAVA语言。2.环境要求: MyEclipse/Eclipse + Tomcat + My
- 写在前面在前后端交互过程中,为了保证信息安全,我们往往需要加点用户验证。本文介绍了用springboot简单整合token。springbo
- 递归算法设计的基本思想是:对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到能够直接求解,也就是说到了递
- Eureka注册的服务之间互相调用1.请求方启动类添加注解,扫描Eureka 中的全部服务@SpringBootApplication@En
- public interface ICacheStrategy { &
- 引言设计: 嗯? 这个图片点击跳转进详情再返回图片怎么变白闪一下呢?产品: 是啊是啊! 一定是个bug开发: 囧囧囧在开发过程中, 也许你也
- 一、项目背景1、介绍:最近在springboot项目中需要做一个阿里云OSS图片上传功能点,将OSS图片上传代码提取到公共工具类中,为了方便
- 从接触springboot开始,便深深的被它的简洁性深深的折服了,精简的配置,方便的集成,使我再也不想用传统的ssm框架来搭建项目,一大堆的
- 1.Java 9以前堆栈遍历到目前为止,官方解决方案是获取当前线程并调用其getStackTrace()方法:StackTraceEleme
- 建造者模式(Builder):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。使用场景:当创建复杂对象的算法应该独