C#概念总结(二)
1、C#的方法:<access Specifier> <Return Type>< Method Name>(Parmeter list){ method Body}
其中 Method Name是一个唯一的标志符,且大小写敏感, parmeter list 参数列表,该参数用来接收和传递方法使用的参数,参数列表是指方法的参数类型,顺序和数量,参数是可选的,一个方法可以不包函参数。
附录:今天做实验的时候发现一个奇怪的现象,就是在kali linux 中使用 kali U 盘时候,就U盘的格式修改成监听模式,即混杂模式后,在Windows,也就是自己的宿主机上连接在五香网卡会失效。
2、C#参数传递 当调用带有参数的方法的时候,我们需要向方法传递参数,C#中有三种方式向方法传递参数。分别是值参数、引用参数、输出参数。
值参数: 这种方式 赋值参数的实际值给函数的形式参数,实参和形参使用两个不同的内存地址,在这中情况之下,当形参发生改变的时候,不会影响实参的值。从而保证了实参的安全性。
引用参数: 这种方式赋值参数的内存地址给引用形式参数,当形式蚕食发生改变的时候,同时也改变了实参的值。
输出参数: 这种方式返回多个值。
引用传递参数; 是对变量的内存地址的引用,当按因用户传递参数的式,与值参数不同的是,他不会为这些参数创建一个新的存储的位置,引用参数表示提供给方法的参数具有相同的位置。 在C#中使用C#关键字声明引用参数。
输出传递参数:
return语句可以用在只从函数返回一个值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
numberManinputlation Te = new numberManinputlation();
int a = 100;
Console.WriteLine(" 调用之前输出{0}", a);
Te.getValue(out a);
Console.WriteLine("调用之后输出{0}", a);
Console.ReadKey();
int c, b;
Te.getValues(out c,out b);
Console.WriteLine("c: {0}", c);
Console.WriteLine("b:{0}", b);
Console.ReadLine();
}
}
class numberManinputlation {
public void getValue(out int x) {
int temp=34;
x = temp;
}
public void getValues(out int a, out int b) {
Console.WriteLine("please input noe number");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("please input second number");
b = Convert.ToInt32(Console.ReadLine());
}
}
}
3、C#可空类型:
nullabe 类型,表示基础值类型正常范围内的值,再加上一个null 值。类似的nullable<bool> 表示被赋值为true或false或者 null
4、C#数组 (Array): 数组是一个存储在相同类型的固定大小的顺序的集合,书序是用来存储数据的集合,通常认为数组是一个同一个人类型的变量集合,所有数组都是由连续的的内存地址位置构成,最低的地址对应的是第一个元素,最高的对应最后一个元素。声明数组语法格式: datatype[] arrname;
声明一个数组并不会初始化,当初始化数组变量的时候,可以给数组赋值。 数组是一个引用类型。所以使用关键字new 来常见数组的实例。
double [] balance=new double[12];
数组的初始化还可以这样写。 一边初始化一边进行赋值 int [] marks=new int[34] {23,24,34545,5656,5756,}; 这样的话还可以省略数组的大小声明。
数组的访问:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication9
{
class Program
{
static void Main(string[] args)
{
bool numbersOk = false;
double var1, var2;
var1 = 0;
var2 = 0;
while (!numbersOk) {
Console.WriteLine("Give me a number");
var1 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Give me second number");
var2 = Convert.ToDouble(Console.ReadLine());
if((var1>10)&&(var2>=10)){
numbersOk=true;}
else{
if((var1<=10)&&(var2<=10)){
numbersOk=true;}
else{
Console.WriteLine("one number may be great ");
}
}
}
Console.WriteLine("your input numbers is {0},{1}",var1,var2);
Console.WriteLine("you true or false is numberOK {0}", numbersOk);
Console.ReadLine();
Console.ReadKey();
Test T = new Test();
Console.WriteLine("下面进行的输入");
T.Panduan();
Shuzu S = new Shuzu();
S.shuzu();
StringTest St = new StringTest();
St.ceshiString();
Console.ReadKey();
}
}
class Test {
public void Panduan() {
String[] i={"ds","sfsdf"};
if (i.Length != 2) {
Console.WriteLine("Two argument requried");
return;
}
string param1 = i[0];
//int param2 = convert.toint32(i[1]);
Console.WriteLine("String parameter {0}", param1);
//console.writeline("string parameter {0}", param2);
Console.ReadKey();
Console.ReadLine();
}
}
class Shuzu {
public void shuzu() {
int[] n = new int[10];
//初始化数组 n的元素
for (int i = 0; i < 10; i++) {
n[i] = i + 100;
}
for (int j = 0; j < 10; j++)
{
Console.WriteLine("inputout number {0}", n[j]);
}
Console.ReadLine();
foreach (int j in n) {
int i = j - 100;
Console.WriteLine("Elemnt{0}={1}",i,j);
}
Console.ReadKey();
}
}
class Foreachtest {
public void xunhuan(){
}}
class StringTest {
public void ceshiString() {
String fname;
String laname;
fname = "TianYa";
laname = "ming";
String fullName = fname + laname;
Console.WriteLine("Full name is {0}", fullName);
Console.ReadLine();
char []letters = { 'w', 'e', 'W' };
String greetings = new String(letters);
Console.WriteLine("Greeting :{0",greetings);
Console.ReadKey();
//返回字符串
String[] sarray = { "Hello", "Form" };
String mesage = String.Join("", sarray);
DateTime waitng = new DateTime(2012, 12, 12, 17, 12, 45);
String hat = String.Format("message sent at {0}", waitng);
Console.ReadKey();
}
}
}
5、String类的方法
public staticint Compare(String strA,Sttring strB) 比较两个制定的String对象,并返回一个表示他排列书序中的相对位置。该方法区分大小写。
public static Compare(String strA,Strign strB,bool ignoreCase) 比较两个指定对象的,,并返回表示一个在排列的顺序中的相对位置整数。次方法忽略大小写
public static Concat(String A,String B) 连接两个对象
public static String Comcat(Sting A,String B,String C) 连接三个对象
| public bool Contains( string value ) 返回一个表示指定 string 对象是否出现在字符串中的值。 |
|
| 7 | public static string Copy( string str ) 创建一个与指定字符串具有相同值的新的 String 对象。 |
| 8 | public void CopyTo( int sourceIndex, char[] destination, int destinationIndex, int count ) 从 string 对象的指定位置开始复制指定数量的字符到 Unicode 字符数组中的指定位置。 |
| 9 | public bool EndsWith( string value ) 判断 string 对象的结尾是否匹配指定的字符串。 |
| 10 | public bool Equals( string value ) 判断当前的 string 对象是否与指定的 string 对象具有相同的值。 |
| 11 | public static bool Equals( string a, string b ) 判断两个指定的 string 对象是否具有相同的值。 |
| 12 | public static string Format( string format, Object arg0 ) 把指定字符串中一个或多个格式项替换为指定对象的字符串表示形式。 |
| 13 | public int IndexOf( char value ) 返回指定 Unicode 字符在当前字符串中第一次出现的索引,索引从 0 开始。 |
| 14 | public int IndexOf( string value ) 返回指定字符串在该实例中第一次出现的索引,索引从 0 开始。 |
| 15 | public int IndexOf( char value, int startIndex ) 返回指定 Unicode 字符从该字符串中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。 |
| 16 | public int IndexOf( string value, int startIndex ) 返回指定字符串从该实例中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。 |
| 17 | public int IndexOfAny( char[] anyOf ) 返回某一个指定的 Unicode 字符数组中任意字符在该实例中第一次出现的索引,索引从 0 开始。 |
| 18 | public int IndexOfAny( char[] anyOf, int startIndex ) 返回某一个指定的 Unicode 字符数组中任意字符从该实例中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。 |
| 19 | public string Insert( int startIndex, string value ) 返回一个新的字符串,其中,指定的字符串被插入在当前 string 对象的指定索引位置。 |
| 20 | public static bool IsNullOrEmpty( string value ) 指示指定的字符串是否为 null 或者是否为一个空的字符串。 |
| 21 | public static string Join( string separator, string[] value ) 连接一个字符串数组中的所有元素,使用指定的分隔符分隔每个元素。 |
| 22 | public static string Join( string separator, string[] value, int startIndex, int count ) 连接接一个字符串数组中的指定位置开始的指定元素,使用指定的分隔符分隔每个元素。 |
| 23 | public int LastIndexOf( char value ) 返回指定 Unicode 字符在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。 |
| 24 | public int LastIndexOf( string value ) 返回指定字符串在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。 |
| 25 | public string Remove( int startIndex ) 移除当前实例中的所有字符,从指定位置开始,一直到最后一个位置为止,并返回字符串。 |
| 26 | public string Remove( int startIndex, int count ) 从当前字符串的指定位置开始移除指定数量的字符,并返回字符串。 |
| 27 | public string Replace( char oldChar, char newChar ) 把当前 string 对象中,所有指定的 Unicode 字符替换为另一个指定的 Unicode 字符,并返回新的字符串。 |
| 28 | public string Replace( string oldValue, string newValue ) 把当前 string 对象中,所有指定的字符串替换为另一个指定的字符串,并返回新的字符串。 |
| 29 | public string[] Split( params char[] separator ) 返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。 |
| 30 | public string[] Split( char[] separator, int count ) 返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。int 参数指定要返回的子字符串的最大数目。 |
| 31 | public bool StartsWith( string value ) 判断字符串实例的开头是否匹配指定的字符串。 |
| 32 | public char[] ToCharArray() 返回一个带有当前 string 对象中所有字符的 Unicode 字符数组。 |
| 33 | public char[] ToCharArray( int startIndex, int length ) 返回一个带有当前 string 对象中所有字符的 Unicode 字符数组,从指定的索引开始,直到指定的长度为止。 |
| 34 | public string ToLower() 把字符串转换为小写并返回。 |
| 35 | public string ToUpper() 把字符串转换为大写并返回。 |
| 36 | public string Trim() 移除当前 String 对象中的所有前导空白字符和后置空白字符。 |
的风格大方
C#概念总结(二)的更多相关文章
- ZooKeeper的基本概念(二)
第一篇博文,我们对Zookeeper有了一个简单的认识,而且比较浅显,易懂,这篇博文,我们了解它的基本概念,如下图所示: 了解它的基本概念,有助于我们后面的学习,虽然今天的文章都是概念性质的内容,但是 ...
- Spring使用 --- 基本概念(二):AOP,面向方面编程
Table of Contents 什么是面向方面编程 怎样使用 什么时候使用 好处 本文讲述sprint的第二个基本概念: AOP,即面向方面编程 什么是面向方面编程 软件项目中,日志系统等服务系统 ...
- Kubernetes — 深入解析Pod对象:基本概念(二)
作为 Kubernetes 项目里最核心的编排对象,Pod 携带的信息非常丰富.其中,资源定义(比如 CPU.内存等),以及调度相关的字段.在本篇,我们就先从一种特殊的 Volume 开始,来帮助你更 ...
- Docker概念(二)
说明: 一直想学Docker,容器.镜像.仓库什么的好难理解就没怎么看了,最近下定决心好好看看,google.Baidu发现这篇好文章,看完差不多有个大概的理解.里面的内容基本上来以下 ...
- 通信原理之TCP/IP基本概念 (二)
本来想写写,但发现有人写的很好了,不造轮子了! 直接转了 一.为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是 ...
- MySql概念(二)
一.Sql规范? sql是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言. 在使用它时,只需要发出“做什么 ...
- 【Apache】Apache服务的基本概念(二)
Apache服务的基本概念 Apache安装请参照:[Apache]Apache服务的安装(一) 1.端口 apache默认监听TCP协议端口80端口 2.apache服务 apache服务默认会启动 ...
- IntelliJ IDEA 2017版 spring-boot 2.0.3 邮件发送搭建,概念梳理 (二)
第二部分 邮件发送历史 一.第一封邮件 1.1969年10月,世界上的第一封电子邮件 1969年10月世界上的第一封电子邮件是由计算机科学家Leonard K.教授发给他的同事的一条简短 ...
- JavaScript之基本概念(二)
今天主要介绍两个东西:JS标识符和数据类型 一 变量和常量 在介绍标识符之前有必要先了解一下JS中的变量和常量. 变量:程序执行期间可操作的临时存储数据的内存空间. 声明方式: var:函数作用域,变 ...
- Git的一些概念(二)
一.Git的结构 二.Git和代码托管中心 代码托管中心的任务:维护远程库 1. 局域网内 GitLab 服务器 -- 可以自己搭建 2. 外部环境 GitHub 码云 三.本地库和远程库 1. 团队 ...
随机推荐
- sqlserver字符串分割
create function sp_split( @c nvarchar(4000), @splitchar nvarchar(1) ) returns @table table (word nva ...
- js 关键字 in 的使用方法
参考地址:http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930643.html in 操作符用于确定某个元素是否在数组中,判断某个属 ...
- Spring基础3
一.AOP 1)AOP简介: Aspect Oriented Programming,面向切面编程 通过预编译方式和动态代理实现程序功能的一种技术,AOP是OOP的延续,是函数式编程的一种衍生范例.利 ...
- 【.net ajax显示后台返回值】
1..net ajax显示后台返回值 <script> $(document).ready(function () { $("#btn&quo ...
- MySql cmd下的学习笔记 —— 有关子查询的操作(where型,from型,exists型子查询)
先找到goods表 查询goods_id最大的商品 where型的子查询 查询goods_id最大的商品(不能用排序) 把两步写成一步,就是子查询 from型子查询 查找出每种cat_id下goods ...
- mysql定时任务用到存储过程和定时任务
需求: 需要将t_app_message中的消息(将要被发送的消息)给每一个学生发送一遍,并且在发送完成后,将消息置为已发送状态已发送状态. 一言不合上代码 /*删除存储过程*/ drop proce ...
- SpringTask定时任务的使用
实现定时任务简单的有四种方式:Timer\ScheduledThreadPool线程池\quartz(常用),还有另一种就是springtask. 都说springtask上手简单,于是简单的研究一下 ...
- listView从底部回到顶部代码实现
可用如下方法: 1.平滑的回到顶部,但是会划过中间的每一页 mListView.getRefreshableView().smoothScrollToPosition(0); 2.直接跳到顶部 if ...
- pytorch1.0 用torch script导出模型
python的易上手和pytorch的动态图特性,使得pytorch在学术研究中越来越受欢迎,但在生产环境,碍于python的GIL等特性,可能达不到高并发.低延迟的要求,存在需要用c++接口的情况. ...
- 使用PHP、MySQL实现修改密码 + 防止通过url强行进入系统
●使用PHP+MySQL实现修改密码 页面: index.php 登陆页面,输入默认密码登陆系统 check.php 核查页面,通过查询数据库检测密码是否正确 ——> 正确,则进入系统 ...