一、局部变量和成员变量

1、程序入口(Main)要调用非静态成员(变量或方法)的话,是需要通过对象去调用的;

2、普通方法里面去调用变量或方法的话可以直接调用

成员变量(全局变量):放在Main方法之外

局部变量:放在具体方法里面,只能在此方法里面用

二、C#里的字符串操作

字符串恒定性:

1、字符串可以看成是字符的数组;

2、str.Length得到字符串里的字符个数

3、字符串一旦创建不可修改,重新赋值只会在堆里面开辟新的空间;

4、在创建一个字符串的时候,会先在字符串数据池里(堆)寻找是否有相同的字符创内容的对象,如果有就直接让变量指向这个对象,如果没有就重新创建新的对象;

字符串里的方法:

1、判断字符串是否相同:Equals('a','c')

 Console.WriteLine(string.Equals('a', 'c'));   //False
Console.ReadKey();

2、判断是否以什么开头、结尾

s.StartsWith("a");      //是否以a开头
s.EndWith("c"); //是否以c结尾

3、定位字符串

indexOf(“s”,5)                //指定字符串第一次出现的位置
LastindexOf("g",6) //指定字符串最后一次出现的位置

4、字符串截取

Console.WriteLine(s.Substring(,)) ;         //从哪开始截取几个长度

5、插入字符串:insert

string str3=str1.insert(,str2);                    //从哪个位置开始插入  以及插入内容

6、用@从左边补齐到4长度:padLeft(4,"@")     同理右边 padRight(4,"@")


7、Trim();  去除字符串前后空格s.Trim();

或者去除自定义的数组内容(仅限前后)

char[] str1={'@','#','$','%'};
string str2="@china$#";
string str3=str2.Trim(str1);
Console.WriteLine(str3);

8、CopyTo方法;

string str1="china";
char[] str2=new char[];
str1.CopyTo(,str2,,) //要复制字符串的起始位置、目标数组、存放起始位置、要复制的字符长度;

9、字符串的替换;

string str1="hello";
string str2=stri.Replace("ll",r); //把"ll"替换成r
Console.Write(str2)

10、传值方式推荐

int i=;
string s="ddd";
bool b=false;
double f=10.4523; string s1=string.Format("传值{0}的时候{1}先用占{2}位符占据,一目{3}了然",i,s,b,f);

11、字符串拼凑

(解决字符串拼凑时,一直开辟新空间的问题)

String.Builder sb=new StringBuilder();
sb.Append("aa");
if(>){
sb.Append("bbb");
}
else{
sb.Append("ccccc");
} sb.Append("dddddd");
Console.WriteLine(sb.Tostring);

12、获取控制台输入的内容:

string s=Console.ReadLine.ToString();    //获取到控制台里面输入的内容
s+=“ass”;
Console.WriteLine(s);

13、foreach遍历

int[] aNum={,,,,,};
foreach(var a in aNum){
Console.WriteLine(a);
}
ConsoleReadKey();

三、异常

错误时语法问题,异常不是,但不处理将会将后台代码暴露给用户,体验差、不安全;

try{

//内容

}catch(){

Console.WriteLine("网站维修中... ...")

}

finally{

Console.WriteLine("不管是否发生异常都要执行");

}

C# lesson3的更多相关文章

  1. lesson3:使用java代码的方式对不能识别的协议进行压力测试

    在我们的实际环境中,我们所使用的协议肯定不只是http的方式,对于rpc等调用协议,目前jmeter没有相应的sampler支持,这时就需要通过引入我们自己写的jar包的方式来解决这个问题.例如:当我 ...

  2. React.js 小书 Lesson3 - 前端组件化(二):优化 DOM 操作

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson3 转载请注明出处,保留原文链接和作者信息. 看看上一节我们的代码,仔细留意一下 change ...

  3. node lesson3

    var express = require('express'); var superagent = require('superagent'); var cheerio = require('che ...

  4. lesson3.1:java公平锁和非公平锁及读写锁

    关于这四种锁的各自情况,网上有很多文章做了介绍,本不想单独开章节介绍,本章只介绍这四种锁的一些源码特点及注意事项. demo 源码:https://github.com/mantuliu/javaAd ...

  5. lesson3:java的锁机制原理和分析

    jdk1.5之前,我们对代码加锁(实际是对象加锁),都是采用Synchronized关键字来处理,jdk1.5及以后的版本中,并发编程大师Doug Lea在concurrrent包中提供了Lock机制 ...

  6. [机器学习Lesson3] 梯度下降算法

    1. Gradient Descent(梯度下降) 梯度下降算法是很常用的算法,可以将代价函数J最小化.它不仅被用在线性回归上,也被广泛应用于机器学习领域中的众多领域. 1.1 线性回归问题应用 我们 ...

  7. lesson3:小程序

    问题: 一·设计思想 创建一个静态变量,利用构造函数在每次创建对象时运行的机制,计算创建对象个数. 二·程序流程图 三·程序源代码 public class Test9{ public static ...

  8. lesson3 overfitting -fastai

    VGG:3*3Imagenet:7*7,9*9论文中证明3*3更胜一筹,但是用多少并没有定论微调:删掉模型的中间只对最后一层微调:model.pop,就删掉了最后一层 如何决定训练多少层?:·看论文上 ...

  9. CryptoZombies学习笔记——Lesson3

    第三课就开始深入讲解solidity编程技巧了. chapter1: 智能合约的不变性. 合约一旦部署到以太坊后,就不可更改了,所以从一方面来说,智能合约代码的安全性是如此重要,因为一旦发现你的代码里 ...

随机推荐

  1. Tapestry5.3使用总结

    1.Tapestry框架的加载是通过Filter来完成的,需要在web.xml中加入以下配置: <filter> <filter-name>app</filter-nam ...

  2. 刨根问底儿 -- intVal($str) 跟 (int) $str 的运算结果有什么区别

    intVal($str) 跟 (int) $str 都是把其他类型的变量转化为int型变量的方式,这么多年来我一直森森滴怀疑它们的运算结果在某些条件下会有区别.对于我的疑问,文档里也没有多说(或者我没 ...

  3. dede搜索引擎

    1.dede模板中的html: <form action="{dede:fieldname='phpurl'/}/search.php" name="formsea ...

  4. jsp-3 简单的servlet连接mysql数据库 使用mvc的登录注册

    简单的servlet连接mysql数据库 使用mvc的登录注册 commons-dbutils-1.6 mysql-connector-java-5.1.40-bin c3p0-0.9.5.2 mch ...

  5. Symfony3 更改生成CRUD目录步骤

    ---恢复内容开始--- 今天是2017-01-16号,项目零零散散的进行着: 由于Symfony3生成的crud在app目录需要转移到相应的Budle下面,记录以下过程: 我使用的是Symfony3 ...

  6. SQLite 约束

    约束是在表的数据列上强制执行的规则.这些是用来限制可以插入到表中的数据类型.这确保了数据库中数据的准确性和可靠性. 约束可以是列级或表级.列级约束仅适用于列,表级约束被应用到整个表. 以下是在 SQL ...

  7. 数娱科技:借助VR技术可让你了解自己的大脑

    你可能很好奇自己的大脑,如果你是一个脑部病患,可能更想了解下自己的大脑.好消息是,脑机接口让这个想法成为可能. 在上周六,AR/VR科技公司广州数娱科技发布了联合5家单位共同研发的"VR人脑 ...

  8. Objective-C运行时态消息传递--拼接方法名

    做IOS开发的人都知道,Objective-C语言中方法的调用是运行时采取绑定的,在编译过程中只声明该方法的存在. 那么我们来简单说下在运行时,类的消息传递. 在运行时,每个方法如[self meth ...

  9. 64位win7系统中vb工程显示加载MSCOMCTL.OCX失败

    MSCOMCTL.OCX明明已经注册成功,但还是提示加载失败,对象未注册 尝试过的方法:system32中注册,syswow64中注册,vb打sp6补丁, 修改工程文件:用记事本打开VBP文件找到这一 ...

  10. C# Volatile 类

    关于C#中Volatile类的具体信息,请访问MSDN: https://msdn.microsoft.com/en-us/library/system.threading.volatile(v=vs ...