零散知识点

1.引用传递参数ref

        static void Main(string[] args)
        {
            int n1 = 10, n2 = 20;
            Swap(ref n1,ref n2);
            Console.WriteLine("n1={0},n2={1}",n1,n2);
            Console.ReadKey();
        }
        private static void Swap(ref int n1, ref int n2)
        {
            int temp = n1;
            n1 = n2;
            n2 = temp;
        }

2.字符串的Length属性表示字符串中的字符数,无论中英文还是符号。区分于字节数。

3.可变参数、数组求最大值

static void Main(string[] args)

{

//4.用方法来实现:计算两个数的最大值。思考:方法的参数?返回值?扩展(*):计算任意多个数间的最大值(提示:params)。

int max=GetMaxValue(1, 2, 3, 4);

Console.WriteLine(max);

Console.ReadKey();

}

static int GetMaxValue(params int[] nums)

{

//对数组中的元素求最大值

int max=nums[0];

for (int i = 1; i < nums.Length; i++)

{

if(nums[i]>max)

{

max=nums[i];

}

}

return max;

}

4.shift+alt+F10 写一个没有定义的函数可以直接生成这个函数

5.质数的判断

一个数是小数乘以大数,或者是两个相同的数相乘。所以为了减少循环次数,对需要判断是否为指数的数开方去整,以此作为循环的边界。

将:

for (int i = 2; i < n; i++)

{

if (n % i == 0)

return false;

}

return true;

改为(注意不要漏掉小于等于号):

for (int i = 2; i <=Math.Sqrt(n) ; i++)

{

if (n % i == 0)

return false;

}

return true;

6.返回名字最长的

static void Main(string[] args)

{

string[] name = { "马龙", "迈克尔乔丹", "雷吉米勒", "蒂姆邓肯", "科比布莱恩特" };

string userName = GetLongestName(name);

Console.WriteLine(userName);

Console.ReadKey();

}

private static string GetLongestName(string[] name)

{

string longName = name[0];

for (int i = 1; i < name.Length; i++)

{

if (name[i].Length > longName.Length)

longName = name[i];

}

return longName;

}

7.Math.Round(数,精度) 四舍五入

foreach循环遍历数组

 

8.拼接字符串用StringBulider

 

9.List<>

List<string> list = new List<string>();//集合

while (num >= 2)

{

//商

int shang = num / 2;

int yushu = num % 2;

list.Add(yushu.ToString());

num = shang;

}

list.Add(num.ToString());

list.Reverse();//集合反转

return string.Join("", list.ToArray());//用空字符串拼接集合成字符串

10.Random()函数实例化不能放在循环内,

Random random = new Random(); //使用系统时间作为种子

for (int i = 0; i < 10; i++) //产生一组随机序列

{

Console.WriteLine(random.Next(1, 100));

}

for (int i = 0; i < 10; i++)

{

Random random = new Random(); //使用系统时间作为种子

Console.WriteLine(random.Next(1, 100)); //产生一个随机数,而不是一组序列,因为运算速度很快,所以在一定时间内,同样的种子所产生的随机序列的第一个数字总是相同的

}

11.indexof()该方法返回在整个字符串中,指定的字符或字符串第一次出现的索引位置,未找到返回-1,
            string msg = "患者:“大夫,我咳嗽得很重。” 大夫:“你多大年记?” 患者:“七十五岁。” 大夫:“二十岁咳嗽吗”患者:“不咳嗽。” 大夫:“四十岁时咳嗽吗?” 患者:“也不咳嗽。” 大夫:“那现在不咳嗽,还要等到什么时咳嗽?”";

int count = 0;

int index = 0;//记录索引

string word="咳嗽";

while((index=msg.IndexOf(word,index))!=-1)

count++;

Console.WriteLine("第{0}次出现【咳嗽】,出现的索引位置是{1}", count, index);

//下次查找的时候要从上一次找到的【咳嗽】的索引位置加上"咳嗽"这个字符串的length

index += word.Length;

}

Console.ReadKey();

12.split()

//将字符串" hello world,你 好 世界 ! "两端空格去掉,并且将其中的所有其他空格都替换成一个空格,输出结果为:"hello world,你 好 世界 !"。

string msg = " hello world,你 好 世界 ! ";

msg = msg.Trim();

string[] result = msg.Split(new char[] { ‘ ‘ }, StringSplitOptions.RemoveEmptyEntries);

Console.WriteLine(string.Join(" ", result));

Console.ReadKey();

13.断点调试 )

F9 F5 F10 F11 ,CTRL+F10直接从光标位置设置断点开始调试,可以对变量添加监视,或者鼠标移到变量上即可

14.输入 cw敲两下Tab即出Console.WriteLine();输入switch敲两下Tab同样出Switch的框架,节省打代码时间

15.Ctrl+k+C注释,Ctrl+K+U取消注释 整理VS使用技巧

 

16.把char数组变成string类型 

char[] chs;

string s=new string(chs)

17.ctrl+r+e 自动封装属性

把类中属性 :       private double _salary;

封装成:

private double _salary;

public double Salary

{

get { return _salary; }

set { _salary = value; }

}

18.重写类方法override+方法名

public override void SayHi()

{

Console.WriteLine("HI~~~~in Employee");

}

19.索引器

索引器格式:                                                    public int this[int index]{get{}set{}}

如果索引器要重载的话要定义成object              public object this[]{...}

索引器的目的是为了方便,可以在该类型的对象后面直接加一对中括号[]就能访问类型中的成员内容了

索引器最终编译的时候会生成一个名字叫Item的属性

//20.请编写一个类:ItcastClass,该类中有一个私有字段_names,数据类型为:字符串数组,长度为5,并且有5个默认的姓名。要求:为ItcastClass类编写一个索引器,要求该索引器能够通过下标来访问_names中的内容。

类:

public class ItcastClass

{

private string[] _names = { "张三", "李四", "王五", "六六", "七七" };

public string this[int index]

{

get

{

return _names[index];

}

set

{

_names[index] = value;

}

}

public int Length

{

get { return _names.Length; }

}

}

主函数:

static void Main(string[] args)

{

ItcastClass ic = new ItcastClass();

for (int i = 0; i < ic.Length; i++)

{

Console.WriteLine(ic[i]);

}

Console.ReadKey();

}

20.char.

char.isdigit 判断是否数字

char.isLetter 是否字母

char.isWhiteSpaca 空格符

21.判断方法是否重载,只看亮点:1方法名必须一致,2参数必须不一致

22.数组的方法,Array.Reverse()数组的反转,Array.Sort()数组的排序

零散知识点,布布扣,bubuko.com

时间: 2025-01-02 00:02:07

零散知识点的相关文章

Python学习 过程中零散知识点的总结

自学资料比较零碎,本文是对在Python学习过程中积累的零零散散的知识点的总结 ====================================================================== 1.  关于编码的简单介绍 unicode  --   万国码 utf-8     --  数字.字符用8位,欧洲字符16位来存,中文3个字节24位 unicode  -->  utf-8   编码 encode utf-8    -->  unicode  解码 decod

C++ 零散知识点速记 -- &lt;深入探索C++对象模型&gt; 读书笔记

错误认知 没有任何构造函数的时候, 编译器总会生成默认构造函数 编译器仅在必要的时候生成默认构造函数 析构函数同理 条件 : 有带有默认构造函数的member 有带有默认构造函数的base class 有virtual function 有virtual inherit 任何对象都带有vptr / 可以对任何对象指针进行 dynamic_cast 操作 只有对象具有 多态 属性的时候 , 才具有 vptr , 才可以对其指针进行 dynamic_cast . 对一个没有多态 属性的指针进行dyn

Linux系统的一些零散知识点

-Linux系统是不以文件后缀名区分文件类型的 #详解(待完成) -Linux系统区分大小写 //快速切换大小写的方法是同时按住Shift和字母按键 -如果要安装Windows和LInux的双系统,最好先安装Windows,然后再安装Linux.因为如果先安装Linux,随后安装Windows时,会覆盖MBR.导致Linux无法引导.

jdbc零散知识点

1.可滚动结果集: 1 conn = JdbcUtils.getConnection(); 2 st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, 3 ResultSet.CONCUR_READ_ONLY); 4 rs = st 5 .executeQuery("select id, name, money, birthday from user"); 6 while (rs.next()) { 7 System.out

html——零散知识点

1.form表单中的button form表单中,正常应该提交数据的是type="submit" 2. html5的文件读取方法FileReader() 3.input标签和img标签可以直接设置长宽

Android 零散知识点整理

为什么Android的更新试图操作必须在主线程中进行? 这是因为Android系统中的视图组件并不是线程安全的.通常应该让主线程负责创建.显示和更新UI,启动子线程,停止子线程.让子线程完成计算并向主线程发出更新UI的消息,让主线程来更新UI.这就促使Android中产生了Handler机制. 如何更改Android Studio编译所采用的API版本? 通过module setting 的Flavors选项卡进行Android API编译版本的更改: 小米手机更改应用程序图标后,桌面上图标没有

Swift学习第三天之零散知识点

Swiftx学习03 1.创建对象仅仅是类名() 2.添加导航栏let nav = UINavigationController(rootViewController: home) 3.为UITabBarController添加子控制器addChildViewController或者是viewcontrollers 4. tabBar在Swift里面是UITabBarController私有的属性,所以赋值采用kvc的方式 setValue(czTabBar, forKey: "tabBar&q

零散知识点总结

数据库: 1.概念设计阶段,最常用的数据模型是(E-R模型). 2.(事务)是DBMS的基本单位,它是构建单一逻辑工作单元的操作集合. 3.(模式)用来描述数据库全体数据的全局逻辑结构和特性. 4.要保证数据库的数据独立性,需要修改(三级模式之间的两层映射). 5.关系数据模型的三个要素是(实体完整性).(参照完整性).(用户自定义完整性). 6.关系代数运算中,专门的关系运算有(选择).(投影).(连接). 7.T-SQL语言基本表的四个表级约束为(主键约束).(外键约束).(唯一性约束).(

【零散知识点】换码序列、枚举常量

     1.换码序列             即一种字符常量,每个换码序列表示一个字符,如'\n'为换行符. 在有限的几种换吗序列中不常见的几种列举如下: '\ooo'(o表示从0~7的任一数字)表示输出ooo表示的八进制数值对应的ASCII码字符,'\xhh'(h表示0~9.a~f.A~F中任一个)表示输出xhh表示的十六进制数值对应的ASCII码字符. '\b'回退符,运行代码"printf("suzy_c\b"):",现实如图:,即光标回退一格显示在c下方.