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:
类的使用要灵活,不要自我束缚.