20160425

  今天老大给我们进行了第二次测试,好多题都是有个印象但不知道具体答案是什么,还有他今天讲的关于C#基础的问题原来很多模糊的地方都清楚了不少,但是关于内存的问题还是很困惑。

  C#预编译(没懂

运行库

动态添加(通过using引用命名空间 通过类名引用)

静态添加(直接将方法写在其中)

传递参数
值传递
实参在内存中分配空间 形参只有在调用时才分配空间(不理解)
引用传递
ref(传入,只能传入)传入,前必须定义和赋值
out(传出,只能传出)传出,从方法体里面传出

共同点:均不能在运行时赋值

变量的作用域
全局变量(和静态变量近似)在程序结束时才销毁
局部变量

内存分为
静态变量区
全局变量区
局部变量区

索引器(不理解
string [] strlist=new string {"A","B"};
strlist[0];

internal:只能在同一个项目上引用

参数修饰符
ref
out
string
parms(可变参数)

字符串
IndexOf 第一次出现的位置
LastIndexOf 最后一次出现的位置
截取字符串

 s ="ABCD";
Console.WriteLine(s.Substring(1)); // 从第2位开始(索引从0开始)截取一直到字符串结束,输出"BCD"
            Console.WriteLine(s.Substring(1, 2)); // 从第2位开始截取2位,输出"BC"
            Console.WriteLine();
过滤特殊字符

 1  /// <summary>
 2         /// 过滤特殊字符
 3         /// 如果字符串为空,直接返回。
 4         /// </summary>
 5         /// <param name="str">需要过滤的字符串</param>
 6         /// <returns>过滤好的字符串</returns>
 7         public static string FilterSpecial(string str)
 8         {
 9             if (str == "")
10             {
11                 return str;
12             }
13             else
14             {
15                 str = str.Replace("'", "");
16                 str = str.Replace("<", "");
17                 str = str.Replace(">", "");
18                 str = str.Replace("%", "");
19                 str = str.Replace("'delete", "");
20                 str = str.Replace("''", "");
21                 str = str.Replace("""", "");
22                 str = str.Replace(",", "");
23                 str = str.Replace(".", "");
24                 str = str.Replace(">=", "");
25                 str = str.Replace("=<", "");
26                 str = str.Replace("-", "");
27                 str = str.Replace("_", "");
28                 str = str.Replace(";", "");
29                 str = str.Replace("||", "");
30                 str = str.Replace("[", "");
31                 str = str.Replace("]", "");
32                 str = str.Replace("&", "");
33                 str = str.Replace("#", "");
34                 str = str.Replace("/", "");
35                 str = str.Replace("-", "");
36                 str = str.Replace("|", "");
37                 str = str.Replace("?", "");
38                 str = str.Replace(">?", "");
39                 str = str.Replace("?<", "");
40                 str = str.Replace(" ", "");
41                 return str;
42             }
43         }
44 复制代码



转换大小写

 s ="aBcD";
            Console.WriteLine(s.ToLower()); // 转化为小写,输出"abcd"
            Console.WriteLine(s.ToUpper()); // 转化为大写,输出"ABCD"
            Console.WriteLine();
反转

    string str = "abcdefg";
 
            char[] cs = str.ToCharArray();
            Array.Reverse(cs);
 
            string res = new string(cs);
 
            Console.WriteLine(res);

类型转换
显式类型转换
隐式类型转换

Object---〉class person
Object obj=new Person();隐式(子类转化成父类)

异常处理(模糊)

字符串特性

只要new对象就在堆里面开辟空间,字符串常量值若相同只存一份

机制

字符串 常量 暂存池,以键值对的形式储存

字符串拼接

+

StringBuild(为什么高效---在堆栈中的对象少)

string str=a+b+c;

    string str = "abcdefg";
 
            char[] cs = str.ToCharArray();
            Array.Reverse(cs);
 
            string res = new string(cs);
 
            Console.WriteLine(res);
原文地址:https://www.cnblogs.com/Li-zhipengBlog/p/5432963.html