C# 语法糖测试--未完待续
/// <summary>
/// string扩展方法,可以用字符串变量加.的形式直接调用,this是关键
/// </summary>
public static class StringExtention
{
private static Regex regex = new Regex("\\d+");
public static bool IsNumber(this string s)
{
if (string.IsNullOrEmpty(s)) return false;
return regex.IsMatch(s);
}
public static bool IsNullOrEmpty(this string s)
{
if (s == null|| s == "") return true;
return false;
}
}
void Test()
{
//?可空值类型,??空合并运算符
int? a = null;//a是可空的int类型
int? b = 100;
int? c = a ?? b;//a为null,返回b
Debug.Log(c);//输出100
string s1 = null;
string s2 = "ByeBye";
string s3 = s1 ?? s2;//s1为null,返回s2
//?判空运算符
Debug.Log(s1.Length);//报错
Debug.Log(s1?.Length);//输出null
Debug.Log($"s1?.Length:{s1?.Length}");//未输出{}内的值
//集合判空运算符?[]
List<string> petList = new List<string> { "Dog", "Cat", "Bear", "Snake" };
Debug.Log(petList?[0]);//输出Dog
petList = null;
Debug.Log(petList?[0]);//输出Null,不报错;用于判断数组集合是否为空
//扩展方法
string s = "123";
Debug.Log(s.IsNumber());//输出True
Debug.Log(s.IsNullOrEmpty());//输出False
//遍历List
List<int> list = new List<int> { 1, 2, 3, 4 };
list.ForEach(item => Debug.Log(item));
//匿名类
var user = new { Name = "Tome", Age = 18, Sex = "Male" };
//匿名方法
Action<string> p = delegate (string s) { Debug.Log(s); };
p("你好啊");
}
C# 语法糖测试--未完待续的更多相关文章
- Go web编程学习笔记——未完待续
1. 1).GOPATH设置 先设置自己的GOPATH,可以在本机中运行$PATH进行查看: userdeMacBook-Pro:~ user$ $GOPATH -bash: /Users/user/ ...
- Hibernate二级缓存(未完待续)
1.Hibernate的cache介绍: Hibernate实现了良好的Cache机制,可以借助Hibernate内部的Cache迅速提高系统的数据读取性能.Hibernate中的Cache可分为两层 ...
- 我的SQL总结---未完待续
我的SQL总结---未完待续 版权声明:本文为博主原创文章,未经博主允许不得转载. 总结: 主要的SQL 语句: 数据操作(select, insert, delete, update) 访问控制(g ...
- 一篇文章让Oracle程序猿学会MySql【未完待续】
一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...
- IOS之KVC和KVO(未完待续)
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- 阿里云服务器:IIS网站的架设(一、环境设置与安装IIS网站 二、网站的基本设置 三、建立新网站(未完待续))
Windows Server 2012 R2的Internet Information Services (IIS)网站的模块化设计,可以减少被攻击面并减轻管理负担,让系统管理员更容易架设安全的具备高 ...
- 命令行操作mysql 未完待续......
复制数据表 create table 新表 like 旧表: 删除表中某个字段 alter table 表名 drop column 字段; 例子: alter table news_apply_lo ...
- 从Socket入门到BIO,PIO,NIO,multiplexing,AIO(未完待续)
Socket入门 最简单的Server端读取Client端内容的demo public class Server { public static void main(String [] args) t ...
- 省钱版----查找 IoT 设备TTL线序__未完待续
作者:仙果 原文来自:省钱版—-查找 IoT 设备TTL线序 省钱版----查找 IoT 设备TTL线序__未完待续 缘由 在IoT固件调试分析的过程中,建议首先在IoT设备的板子上焊接调试线,这是能 ...
随机推荐
- qt(二)
主程序入口: #include <iostream> #include <QApplication> #include "MainWindow.h" int ...
- LeetCode-006-Z 字形变换
Z 字形变换 题目描述:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING" 行数为 ...
- LeetCode-046-全排列
全排列 题目描述:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例说明请见LeetCode官网. 来源:力扣(LeetCode) 链接:http ...
- C#读写自定义的多字段配置文件
mark一下,日后填坑 参考: WPF 读写自己写的配置文件
- 矩池云上安装 NVCaffe教程
使用的是P100,cuda11.1base镜像 创建虚拟环境 conda create -n py36 python=3.6 conda deactivate conda activate py36 ...
- 矩池云上使用Visdom可视化图像说明
租用机器添加默认端口 点击展开高级选项 点击添加端口配置 添加Visdom默认端口,选择 http 端口填入 8097 进入环境安装并使用 JupyterLab 链接 是本次实验用来安装实验的工具 H ...
- 『德不孤』Pytest框架 — 10、setUp()和tearDown()函数
目录 1.setUp()和tearDown()函数介绍 2.setUp()和tearDown()函数作用 3.setUp()和tearDown()函数说明 4.示例 (1)方法级 (2)类级 (3)函 ...
- cobbler check执行报错
httpd does not appear to be running and proxying cobbler, or SELinux is in the way. 当执行cobbler check ...
- C++移动语义 详细讲解【Cherno C++教程】
移动语义 本文是对<最好的C++教程>的整理,主要是移动语义部分,包含视频85p左值和右值.89p移动语义与90p stdmove和移动赋值操作符. 移动语义是C++11的新feature ...
- Spring MVC 04-- 接收前端参数json格式的方式
/** * 第一种:以RequestParam接收 * 前端传来的是json数据不多时:{"id":1},可以直接用@RequestParam来获取值 * * @param id ...