c#基于这些,你已经看到了?(一)-----谁才刚刚开始学习使用
1、注视(不要写的目光是流氓,从废话名盲人)
‘///’一般用于目光功能。凝视类。
2、热键
ctrl+k+d(有语法错误无法进行对齐)
ctrl+j(高速弹出仅仅能提示)
shift+end,shift+home 键从行首到行尾,从行尾到行首。
ctrl+k+c 凝视 ctrl+k+u取消凝视
alt+shift+f10 打开说明引用空间。
f1转到msdn
f12转到定义
3、数据类型
decimal money=5000m。(金钱类型)
String 和string在c#中都一样。String是.net平台中共用类型。string是c#中专有的。它们两个都会映射到System.class类中。
4、命名规范
*1、Camel命名规范(多用于变量命名):首单词首字母小写,其余单词首字母大写。
*2、Pascal命名规范(多用于类或者方法命名):全部单词首字母大写。
5、占位符
用法:先挖个坑。再填个坑。
Console.WriteLine("..{0},...{1},...{2}",n1,n2,n3);
6、转义符
\n:换行,可是在windows系统中不认识\n,仅仅认识\r\n。
\":输出半角引號
\t:tab键(排版)
\b:退格。首尾放置无效。仅仅是退格一个。
@:1、取消\在字符串中的转义作用。
2、保留原格式输出。
7、枚举
=====枚举与int和string之间转换===
@1、枚举类型默认能够和int类型相互转换 枚举类型跟int是兼容的
@2、枚举类型转换成string,用toString()。
枚举类型 对象名 =(枚举类型)Enum.Parse(typeof(枚举名),string s);
8、属性
惯使用方法:属性开头字母大写。字段开头字母小写。
class Person
{
private int age;
public int Age
{
set
{
this.age=value;
}
get
{
return this.age;
}
}
9、c#中无全局变量一说,仅仅能用静态字段来模拟全局变量。
10、c#中三大參数
1)out參数:
假设在一个方法中返回多个同样类型的值的时候,能够考虑返回一个数组。
可是返回多个不同类型的值时就需用out。
out既能够返回多个同样值也能够返回多个不同值。
事实上out作用就是:返回被调用函数的多个值。与一般返回方向是相反的。
注意:out定义变量必须在被调用函数中赋值。
2)ref參数:
可以将一个变量带入一个方法中改变。改变完毕后。再将改变后的值带出方法。
main()
{
int s=10。
Test(ref s)。
}
Test(ref s1)
{
s1+=3
}
3)parame參数:
可变參数
将实參列表中与可变參数数组中类型一致的类型当作数组的元素。既实參能够不用声明数组。
main
{
test(“为”。34,389。34);
}
test(string name。params int[] score)
{
}
11、方法的重载和返回值无关。至于方法名、參数类型、个数有关。
12、静态与非静态的差别
1)、在非静态类中。既能够有实例成员,也能够静态方法。
静态类中仅仅能出现静态成员。
2)、在调用实例成员时候。须要使用对象名.实例成员;
在调用静态成员的时候,须要类名.静态方法。
总结:静态成员必须使用类名去调用,实例成员用对象去调用。
静态函数中仅仅能訪问静态成员,不同意訪问实例成员。
实例方法既能够使用静态成员。也能够使用实例成员。
静态类中仅仅能出现静态成员。静态类无法实例化。
使用:
1)、假设你想要你的类当做一个“工具类”去使用,这个时候能够考虑写成静态的类
2)、静态类在整个项目资源共享。
静态类是占内存的。
GC Garbage Collection 垃圾回收器。
13、构造函数
作用:帮助我们初始化对象,构造函数是一个特殊的方法。
1)构造函数没有返回值。连void也没有
2)构造函数的名称必须和类名一样。
14、new
1)在内存中开辟一块空间;
2)再开辟的空间中创建对象;
3)调用对象的构造函数初始化对象。
构造函数必须是public。
15、this
1)代表当前类的对象。
2)在类其中显式调用本类的构造函数 :this
16、在一个项目中引用还有一个项目的类
1)、先引用项目
2)、引用还有一个项目的命名空间。
17、值类型和引用类型
差别:
1、值类型和引用类型在内存上存储的地方不一样
2、在传递值类型和传递引用类型的时候传递的方式不一样。
值类型我们称之值传递,引用类型我们称之为引用传递。
值类型:int 、double、char、bool、decimal、struct、enum
引用类型:string、自己定义类
存储:
值类型存储在内存的栈中。
引用类型存储在内存的堆中。
18、字符串
1)、字符串的不可变性,假设字符串被又一次赋值,老值并不删除,而是在栈中将老的
地址删除。又一次给字符串赋予新的地址值。
当程序结束后,GC扫描整个内存。假设发现有的空间没有指向,则马上销毁。
2)、能够将string类型看作是char类型的仅仅读数组。
例:
string s="abcde";
//S[0]='B';不能这么做。由于是仅仅读的
//假设改变的话,首先需进行对string的转换。
char []chs=s.ToCharArray();
//将字符数组转换成我们的字符串
s=new string(chs);
Console.WriteLine(s[0]);
19、StringBuilder
当字符串进行大量的循环累加时,会进行大量的开辟新的内存空间。比較慢。
计时:Stopwatch Start(); Stop(); Stopwatch.Elapsed //记录执行的总时间。
StringBuilder.Append(i);追加方式进行累加。
StringBuilder会节省非常大时间。原因在于它不开辟新空间。然后再将StringBuilder转换为String
20、字符串方法
1)、Length()
2)、ToUpper()
3)、ToLower()
4)Equals(str1。StringComparision.OrdinalIgnoreCase):比較两个字符串是否一致
,并忽略大写和小写。
5)、Splite(字符数组。StringSplitOptions.RemoveEmptyEntries),则将字符数组内容删除,而且不返回空数组和null。
6)、Contains()
7)、Replace(str1,str2)
8)、string.Substring();
9)、string.StartWith()/EndWith()
10)、string.indexof()返回int类型,返回字符串首先出现的位置
11)、string.LastIndexof()最后一个字符串出现的位置。
12)、string.trim()移除字符串中全部空格。string.trimStart()/trimEnd();
13)、string.IsNullOrEmpty()
14)、string.Join();它可以被添加到阵列分隔符规定磨削。
版权声明:本文博主原创文章,博客,未经同意不得转载。
c#基于这些,你已经看到了?(一)-----谁才刚刚开始学习使用的更多相关文章
- 基于孪生卷积网络(Siamese CNN)和短时约束度量联合学习的tracklet association方法
基于孪生卷积网络(Siamese CNN)和短时约束度量联合学习的tracklet association方法 Siamese CNN Temporally Constrained Metrics T ...
- 《机器学习实战(基于scikit-learn和TensorFlow)》第四章内容的学习心得
本章主要讲训练模型的方法. 线性回归模型 闭式方程:直接计算最适合训练集的模型参数 梯度下降:逐渐调整模型参数直到训练集上的成本函数调至最低,最终趋同与第一种方法计算出的参数 首先,给出线性回归模型的 ...
- 《机器学习实战(基于scikit-learn和TensorFlow)》第三章内容的学习心得
本章主要讲关于分类的一些机器学习知识点.我会按照以下关键点来总结自己的学习心得:(本文源码在文末,请自行获取) 什么是MNIST数据集 二分类 二分类的性能评估与权衡 从二元分类到多类别分类 错误分析 ...
- Spring_AOP基于AspectJ的注解开发&JDBC的模板使用&事务管理(学习笔记3)
一:AOP基于AspectJ的注解开发 1,简单的实例: 1)引入相应的jar包 2)在配置文件里引入相关约束 <beans xmlns="http://www.springfra ...
- Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)
Apache-->hadoop的官网文档命令学习:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 调用文件系统( ...
- 关于HTML、XHTML、CSS、XML的区别
1.HTML(Hyper Text Mark-up Language) HTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是为“网页创建和其他可在 ...
- 【NLP】基于自然语言处理角度谈谈CRF(二)
基于自然语言处理角度谈谈CRF 作者:白宁超 2016年8月2日21:25:35 [摘要]:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果.在中文分词.中文人名识别和歧义消解等任务 ...
- 【NLP】基于机器学习角度谈谈CRF(三)
基于机器学习角度谈谈CRF 作者:白宁超 2016年8月3日08:39:14 [摘要]:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果.在中文分词.中文人名识别和歧义消解等任务中都 ...
- 【NLP】基于统计学习方法角度谈谈CRF(四)
基于统计学习方法角度谈谈CRF 作者:白宁超 2016年8月2日13:59:46 [摘要]:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果.在中文分词.中文人名识别和歧义消解等任务 ...
随机推荐
- U6Linux的文件权限与目录配置
1.ll查看文件信息:[权限][连接][所有者][用户组][文件容量][修改日期][文件名] 2.第一个字符代表文件的属性:若为[d]则是目录.若为[-]则是文件.若为[l]则为连接. 3.chgrp ...
- 在centos上部署java WEB环境
题语:偷得浮生半日闲,趁着十一期间,好好的写写随笔来记录自己所学.所践和所得,不足之处,欢迎各位拍砖~~~ 工具:Xftp 5.Xshell 5 一.安装jdk 1. 使用Xftp 5把jdk-8u ...
- srm 533
250 Description 给你一串数字序列,每次删掉第ii个数.获得权值w[i−1]×w[i+1]w[i-1]\times w[i+1],求最后剩下第一个和最后一个数获得的最大权值和 Solut ...
- 经典排序算法 - 高速排序Quick sort
经典排序算法 - 高速排序Quick sort 原理,通过一趟扫描将要排序的数据切割成独立的两部分,当中一部分的全部数据都比另外一部分的全部数据都要小,然后再按此方法对这两部分数据分别进行高速排序,整 ...
- android定位方式
做移动互联网就不太可能不碰手机端的开发.上周为了项目需要,俺也挽袖子抡胳膊开始写起了android程序,还好有java基础,倒也上手快,写了几个小程序,主要都是关于定位方面的. 网上也搜得到一些相关的 ...
- Cstyle的UEFI导读:第20.0篇 IGD OpRegion interface && IGD OpRegion PROTOCOL
ACPI IGD OpRegion interface是用SCI来实现IGD driver,OS,BIOS之间沟通的桥梁,IGD OpRegion PROTOCOL是UEFI BIOS构建桥梁 ...
- 【原创】《算法导论》链表一章带星习题试解——附C语言实现
原题: 双向链表中,需要三个基本数据,一个携带具体数据,一个携带指向上一环节的prev指针,一个携带指向下一环节的next指针.请改写双向链表,仅用一个指针np实现双向链表的功能.定义np为next ...
- 【Nginx】开发一个简单的HTTP模块
首先来分析一下HTTP模块是怎样介入Nginx的. 当master进程fork出若干个workr子进程后,每一个worker子进程都会在自己的for死循环中不断调用事件模块: for ( ;; ) { ...
- Please read “Security” section of the manual to find out how to run mysqld as root!错误解决(转)
2016-03-12T15:40:45.717762Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please ...
- uva 10817 Headmaster's Headache 出发dp 位计算
出发dp,用在一些议题的操作非常~ 给出s个课程.m个教师.n个求职者,教师必须招聘.然后招聘一些求职者,使得每一门课都至少有两个老师能教.问题就转换成了招聘哪些求职者使得花费最少.由于s范围小于8 ...