C# lesson3
一、局部变量和成员变量
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的更多相关文章
- lesson3:使用java代码的方式对不能识别的协议进行压力测试
在我们的实际环境中,我们所使用的协议肯定不只是http的方式,对于rpc等调用协议,目前jmeter没有相应的sampler支持,这时就需要通过引入我们自己写的jar包的方式来解决这个问题.例如:当我 ...
- React.js 小书 Lesson3 - 前端组件化(二):优化 DOM 操作
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson3 转载请注明出处,保留原文链接和作者信息. 看看上一节我们的代码,仔细留意一下 change ...
- node lesson3
var express = require('express'); var superagent = require('superagent'); var cheerio = require('che ...
- lesson3.1:java公平锁和非公平锁及读写锁
关于这四种锁的各自情况,网上有很多文章做了介绍,本不想单独开章节介绍,本章只介绍这四种锁的一些源码特点及注意事项. demo 源码:https://github.com/mantuliu/javaAd ...
- lesson3:java的锁机制原理和分析
jdk1.5之前,我们对代码加锁(实际是对象加锁),都是采用Synchronized关键字来处理,jdk1.5及以后的版本中,并发编程大师Doug Lea在concurrrent包中提供了Lock机制 ...
- [机器学习Lesson3] 梯度下降算法
1. Gradient Descent(梯度下降) 梯度下降算法是很常用的算法,可以将代价函数J最小化.它不仅被用在线性回归上,也被广泛应用于机器学习领域中的众多领域. 1.1 线性回归问题应用 我们 ...
- lesson3:小程序
问题: 一·设计思想 创建一个静态变量,利用构造函数在每次创建对象时运行的机制,计算创建对象个数. 二·程序流程图 三·程序源代码 public class Test9{ public static ...
- lesson3 overfitting -fastai
VGG:3*3Imagenet:7*7,9*9论文中证明3*3更胜一筹,但是用多少并没有定论微调:删掉模型的中间只对最后一层微调:model.pop,就删掉了最后一层 如何决定训练多少层?:·看论文上 ...
- CryptoZombies学习笔记——Lesson3
第三课就开始深入讲解solidity编程技巧了. chapter1: 智能合约的不变性. 合约一旦部署到以太坊后,就不可更改了,所以从一方面来说,智能合约代码的安全性是如此重要,因为一旦发现你的代码里 ...
随机推荐
- java nio io模型
I/O模型 在开始NIO的学习之前,先对I/O的模型有一个理解,这对NIO的学习是绝对有好处的.我画一张图,简单表示一下数据从外部磁盘向运行中进程的内存区域移动的过程: 这张图片明显忽略了很多细节,只 ...
- Tungsten Replicator学习总结
之前基于Tungsten Replicator实现了内部使用的分布式数据库的数据迁移工具,此文为当时调研Tungsten Replicator时的学习心得,创建于2015.7.22. 1 概述 1.1 ...
- [ios2] 获取mac地址 等唯一标识
- (NSString *) macaddress{ int mib[6]; size_t len; char ...
- Flexible 弹性盒子模型之CSS align-self 属性
实例 居中对齐弹性对象元素内的某个项: #myBlueDiv { align-self:center; } 复制 效果预览 浏览器支持 表格中的数字表示支持该属性的第一个浏览器的版本号. 紧跟在 -w ...
- window7环境下VMWare自定义安装Linux虚拟机完全教程
1.首先准备好以下工具和安装包,最好到官网下载: VMWare 8.x,注意版本不易过高,因为很多时候会出现和Linux镜像不兼容的情况,下载地址:http://www.vmware.com/cn.h ...
- System.InvalidOperationException: 找到多个与名为“Home”的控制器匹配的类型。
一,当项目中存在多个网站报错,而不是新增Area出现这个错误时.应该在RouteConfig这样改: using System; using System.Collections.Generic; u ...
- servlet笔记
开发servlet有三种方法: (1) 实现 Servlet接口 (2) 通过继承 GenericServlet (3) 通过继承 HttpServlet get提交和post提交的 ...
- readonly属性在各浏览器中的区别
有个项目需求是正常显示时为只读,不可修改: 点击修改按钮后,可修改表单元素. 首先想到的是readonly属性,其用于规定输入字段为只读,不能修改.在javascript中消除readonly值,可将 ...
- DuiLib 中滚动条不显示的问题
DuiLib 很好用,同时在没有完全理解源码的前提下,坑也不少,比如今天遇到的添加滚动条不显示... 情况是这样的,将一个页面作为Tab控件的其中一页,为了代码不窝在一起,就没有在CreateCont ...
- vlc-android1.8.0的全部源代码[包括C语言]
我们基于vlc,整理出了vlc-android1.8.0的全部源代码, 并增加了LibVLC的简单调用, 您只需要7行代码,就可以完成调用,和原生的MediaPlayer类似. 下载地址https:/ ...