C#之入门总结_Math_DateTime_Random_Path_12

来源:互联网 发布:php走势图源码 编辑:程序博客网 时间:2024/06/05 14:23

Mach


               //得到一个数的绝对值
            Console.WriteLine(Math.Abs(-12));
            //得到大于该浮点类型数据的最小整数  参数类型是double或者decimal
            Console.WriteLine(Math.Ceiling(3.1));
            //得到小于该浮点类型数据的最大整数  参数类型是double或者decimal
            Console.WriteLine(Math.Floor(3.1));
            //四舍五入
            Console.WriteLine(Math.Round(5.3));
            Console.WriteLine(Math.Round(5.5));

            Console.WriteLine(Math.Round(13.36, MidpointRounding.AwayFromZero));
            Console.WriteLine(Math.Round(13.35, MidpointRounding.ToEven));
            //精确到小数点后第几位
            Console.WriteLine(Math.Round(13.6578, 3));
            //一个圆周是2*Math.PI
            Console.WriteLine(Math.Sin(Math.PI/6));
            //1弧度对应的角度是57.29
            Console.WriteLine(180*1.0/Math.PI);
            //Math.Asin(0.5) 得到的是弧度数  
            //要得到角度  就需要乘以 1弧度对应的角度

            Console.WriteLine(Math.Asin(0.5) * 180 * 1.0 / Math.PI);

DatiTime

//日历的最大值了
            Console.WriteLine(DateTime.MaxValue);
            Console.WriteLine(DateTime.MinValue);

            DateTime dt1 = new DateTime(2000, 1, 1);
            DateTime dt2 = new DateTime(2017, 8, 7);
            //时间间隔
            TimeSpan ts = dt2 - dt1;

            TimeSpan ts1 = new TimeSpan(400,0,0,0);
            DateTime dt3 = dt1 + ts1;
            Console.WriteLine(dt3);
            //获取本机的当前时间  年月日时分秒 如 2017/8/7 14:42:27
            Console.WriteLine(DateTime.Now);
            //获取此实例所表示的日期为该月中的第几天。
            Console.WriteLine(dt3.Day);
            //获取此实例所表示的日期为该年中的月份。
            Console.WriteLine(dt3.Month);
            //获取实例所表示的年份
            Console.WriteLine(dt3.Year);
            //获取此实例表示的日期是该年中的第几天
            Console.WriteLine(dt3.DayOfYear);
            //将当前 System.DateTime 对象的值转换为其等效的短日期字符串表示形式。
            Console.WriteLine(dt3.ToShortDateString());

Random:

产生随机数,产生的机制是生成一个时间种子,随机数和种子相关,


            for (int i = 0; i < 10; i++)
            {
                Random random = new Random(i);
                Console.WriteLine(random.Next());
            }
  约瑟夫环  

   一个小游戏,把生活中的思维我问题带入到编程中,能给我们带来更多的思路和创意.
namespace 约瑟夫环
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Task01(23,6));
        }


        static int Task01(int len,int index)
        {
            Queue<int> queue = new Queue<int>();
            for (int i = 1; i <= len; i++)
            {
                queue.Enqueue(i);
            }
            int count = 0;
            while (queue.Count>1)
            {
                count++;
                int tempNumber = queue.Dequeue();
                if (count!=index)
                {
                    queue.Enqueue(tempNumber);
                }
                else
                {
                    count = 0;
                }
            }
            return queue.Peek();
        }

    }
}

Path

            string path = "D:\\FileTest\\Test.txt";
            //绝对路径
            string path1 = @"D:\FileTest\Test.txt";
            //拼接成一个完整的路径
            string path2 = Path.Combine(@"D:\FileTest", @"Test.txt");
            string path3 = @"D:\FileTest\Test\xxx\01\12.txt";
            Console.WriteLine(path2);
            //得到12.txt所在的文件夹的路径
            Console.WriteLine(Path.GetDirectoryName(path3));
            //得到文件的扩展名
            Console.WriteLine(Path.GetExtension(path3));
            //得到文件名  包含扩展名
            Console.WriteLine(Path.GetFileName(path3));
            //得到文件名  但是不包含扩展名
            Console.WriteLine(Path.GetFileNameWithoutExtension(path3));
            //得到当前文件所在的绝对路径
            Console.WriteLine(Path.GetFullPath("12.txt"));
            string path4 = Path.GetFullPath("12.txt");
            Console.WriteLine(Path.GetPathRoot(path4));
            Console.WriteLine(Path.GetRandomFileName());
        }

绝对路径是固定的线路,断一环而不能寻(类似装某些软件,一旦移动文件夹会导致软件无法使用),相对路径路径方式可变.

PS:

类的使用要灵活,不要自我束缚.