重温C#基础 简单

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test1
{
    enum Gender { Male, Female, Unkown };
    class Program
    {
        static void Main(string[] args)
        {
            ////////////////////////////////////////
            //Console.WriteLine("Hello");
            //Console.WriteLine("请输入一串字符:");
            //string s = Console.ReadLine();
            //Console.WriteLine("您输入的字符串为:"+s);
            //Console.WriteLine("您输入的字符串为:{0}",s);

            ////////////////////////////////////
            //字符串的转义
            //string s1 = @"c:\temp\file\1.jpg";
            //string s1 = "c:\\temp\\file\\1.jpg";
            //Console.WriteLine("{0}", s1);


            //////////////////////////////////////////////////
            //Convert简单数据类型转换
            //Convert.ToString()  Convert.Toint32();
            /*Console.WriteLine("请输入第一个整数:");
            string s1 = Console.ReadLine();
            Console.WriteLine("请输入第二个整数:");
            string s2 = Console.ReadLine();
            int i1 = Convert.ToInt32(s1);
            int i2 = Convert.ToInt32(s2);
            Console.WriteLine("{0}+{1}={2}", i1,i2,i1+i2);*/

            /*Console.WriteLine("int最大值{0},最小值{1}",int.MaxValue, int.MinValue);
            Console.WriteLine("byte最大值{0},最小值{1}", byte.MaxValue, byte.MinValue);
            byte b = 3;
            int i1 = b; //显示式转换, 变量b转换后不能满足int类型变量i1的值,所以叫显示式转换,程序员自己负责
            //隐式转换:当目标一定能满足原类型转换过去后的要求的话就是隐式转换
            //显示转换:当目标不一定能满意足原类型转换过去的要求的话就需要显示转换(自己负责)
            b = (byte)i1; //隐藏转换 i1也就是int类型的,转换为byte类型的变量b,转换后是一定满足的,所以隐式转换*/

            
            
            ///////////////////////////////////////
            //枚举
            //enum Gender{ Male, Female, Unkown};
            //Console.WriteLine(Gender.Male);
            //Console.WriteLine(Gender.Female);
            //Console.WriteLine(Gender.Unkown);


            ///////////////////////////////////////
            //数组
            /*int[] nums = { 52,5,8};
            int[] news = new int[3];
            string[] str = new string[5];
            Console.WriteLine("str.length:{0}",str.Length);
            for (int s = 0; s < str.Length; s++) {
                str[s] = Convert.ToString(s);  
            }
            foreach (string name in str) {
                Console.WriteLine(name);
            }*/


            ////////////////////////////////////
            //函数
            /*int[] ages = {22,44,87,99,34};
            double eman = AgeMean(ages);
            Console.WriteLine("平均年缺为:{0}", eman);
            hello();*/


            ///////////////////////////////////
            //字符串基础
            /*char a = 'a'; //单个字符
            string str = "hello C#";
            foreach (char c in str) {
                Console.Write(" {0} ", c);
            }
            //C#中字符串有一个重要的特性,不可变性,字符串一量声明就不再可以改变,所以只能通过索引来读取定位置的char,不能对指定位置的char进行修改
            string s1 = "xlc";
            s1 = "xxd"; //这里并没有改变s1这块内存空间,而是让s1重新指向了一块内存空间
            Console.WriteLine("s1:{0}",s1);
            //要区分变量名和变量指向的值的区别,程序中可以有很多字符串,然后由字符串变量指向它们,变量可以指向其他的字符串,但字符串本身没有变化,字符串不可变性指的是内存中的字符串不可变,而不是变量不变*/


            //////////////////////////////////////////
            //string 常用函数
            //ToLower(); 得到字符串的小写形式
            /*string s = "HELLO";
            s = s.ToLower();
            Console.WriteLine(s);
            //ToUpper(); 得到字符串的大写形式
            string s1 = "hello";
            s1 = s1.ToUpper();
            Console.WriteLine(s1);
            //去掉字符串两端的空白
            string s2 = "  去掉字符串两端的空格  ";
            Console.WriteLine(s2);
            s2 = s2.Trim();
            Console.WriteLine(s2);*/
            //两个字符串进行比较,区分大小写
            //string s1 = "zzz";
            //string s2 = "bbb";
            //bool b = s1.Equals(s2,StringComparison.Ordinal);
            //Console.WriteLine("{0}与{1}的比较结果为:{2}",s1,s2,b);
            //忽略大小写的比较
            //bool b = s1.Equals(s2, StringComparison.OrdinalIgnoreCase);
            //Console.WriteLine("{0}与{1}的比较结果为:{2}",s1,s2,b);
            
            //两字符串进行比较
            //如果相等返回0,如果原值大于被比较值返回比0大的值,如果被比较值大于原值返回比0小的值
            //int i = s1.CompareTo(s2);
            //Console.WriteLine("{0}与{1}的比较结果为:{2}", s1, s2, i); //1 因为b比a大,而z也比b大

            
            //字符串分割
            /*string names = "aa,bb,cc,dd,ee,ff";
            string[] name = names.Split(',');
            for (int i = 0; i < name.Length; i++) {
                Console.WriteLine("{0}:{1}",i,name[i]);
            }*/

            /*string names = "aa,bb,cc)dd*ee|ff";
            string[] name = names.Split(',',')','|','*');
            for (int i = 0; i < name.Length; i++)
            {
                Console.WriteLine("{0}:{1}", i, name[i]);
            }*/

            //去掉空的数据值
            /*string name = "aa,bb,cc,dd,ee,ff,,ss,,,ff";
            //string[] names = name.Split(new char[]{','}, StringSplitOptions.RemoveEmptyEntries);
            string[] names = name.Split(new char[]{','}, StringSplitOptions.RemoveEmptyEntries);
            foreach (string namei in names) {
                Console.WriteLine("我的名字叫:{0}",namei);
            }*/

            //将字符串按照指定的string分割为字符串数组
            /*string s = "我是刘邦我是关羽";
            string[] ss = s.Split(new string[]{"我是"},StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < ss.Length; i++) {
                Console.WriteLine(ss[i]);
            }*/


            //字符串替换
            //string s = "我是小菊";
            //s = s.Replace("小菊","向工");
            //Console.WriteLine(s);

            //切取指定长度的字符串
            //string title = "什么活就让他们干,自己孩子有什么客气的";
            //string title_ = title.Substring(3,title.Length-3); //切中文也好使样
            //Console.WriteLine(title_);

            //判断字符串中是否含有指定字符串
            //string title = "什么活就让他们干,自己孩子有什么客气的";
            //bool ii = title.Contains("他们干");
            //Console.WriteLine(ii);

            //判断字符串是否以指定字符串开始
            //string title = "什么活就让他们干,自己孩子有什么客气的";
            //bool ii = title.StartsWith("什么");
            //Console.WriteLine(ii);

            //判断字符串是否以指定字符串结束
            //string title = "什么活就让他们干,自己孩子有什么客气的";
            //bool ii = title.EndsWith("xxd");
            //Console.WriteLine(ii);

            //切取value第一次出现的位置
            /*string title = "什么活就让他们干,活自己孩子有什么客气的";
            //int index = title.IndexOf("活");
            int index = title.LastIndexOf("活");//最后一次出现
            if (index >= 0) {
                title = title.Substring(index, title.Length-index);
                Console.WriteLine("第一次出现'活'后面的字符串为:{0}",title);
            }*/


            ////////////////////////////////////////////////
            //ref out 
            //ref 必须先初始化,因为是引用,所以必须先有,才能引用
            //而out则是内部为外部赋值,所以不需要初始化
            /*int i = 55;
            IncAge(ref i);
            Console.WriteLine("i:{0}",i);

            string name;
            nameOut(out name);
            Console.WriteLine("我的名字为:{0}",name);*/












        }

        /*static void nameOut(out string name) 
        {
            name = "xlc";
        }

        static void IncAge(ref int age) 
        {
            age += 5;
        }*/



        /*static void hello(string name = "xlc", int age = 23) 
        {
            Console.WriteLine("hello!欢迎您:{0},年龄为:{1}", name, age);
        }
        static double AgeMean(params int[] ages) 
        {
            int count = 0;
            for(int s=0; s<ages.Length; s++){
                count += ages[s];
            }
            double age = count / ages.Length;
            return age;
        }*/

    }
}

  

原文地址:https://www.cnblogs.com/xiangxiaodong/p/2937975.html