using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Operation
{
class Program
{
static void Main(string[] args)
{
//int a = 0;
//int b = 0;
//Console.WriteLine("请输入a的值");
//a = Convert.ToInt32(Console.ReadLine());
//b = ++a;
//Console.WriteLine("a的值为" + a + " b的值为" + b);
//Console.ReadLine();
输出数据类型的大小
//Console.WriteLine(sizeof(int));
//Console.ReadLine();
/*
Internal 访问修饰符
Internal 访问说明符允许一个类将其成员变量和成员函数暴露给当前程序中的其他函数和对象。
换句话说,带有 internal 访问修饰符的任何成员可以被定义在该成员所定义的应用程序内的任何类或方法访问。
*/
//Program p = new Program();
//int val = p.jiecheng(6);
//int val1 = p.jiecheng(7);
//Console.WriteLine("6的阶乘为"+val+" 7的阶乘为"+val1);
//Console.ReadLine();
//实际参数与形式参数
//Program p = new Program();
实际参数
//int a = 30;
//int b = 20;
//Console.WriteLine("数值交换前"+a);
//Console.WriteLine("数值交换前"+b);
//Console.ReadLine();
为实际参数
//p.swap(ref a, ref b);
带实际参数输出内容
//Console.WriteLine("带实际参数输出内容数值交换后" + a);
//Console.WriteLine("带实际参数输出内容数值交换后" + b);
//Console.ReadLine();
带ref的为形式参数
//p.swap(ref a, ref b);
带形式参数输出内容
//Console.WriteLine("带形式参数输出内容数值交换后" + a);
//Console.WriteLine("带形式参数输出内容数值交换后" + b);
//Console.ReadLine();
//二维数组
//int[,] array = new int[5,2]{{0,1},{2,3},{4,5},{6,7},{8,9}};
foreach语句只需要一次可以完全遍历整个二维数组,速度较快
//foreach (int i in array)
//{
// Console.WriteLine(i);
//}
//for (int i = 0; i < 5; i++)
//{
// for (int j = 0; j < 2; j++)
// {
// Console.WriteLine(array[i, j]);
// }
//}
//SubTest();
//Console.ReadLine();
//string b1 = " C# zwy";
//string b2 = "C# zhongwenyong";
//double num1 = b1.Length;
//double num2 = b2.Length;
使用string方法是带上前缀
//int val = String.Compare(b1, b2);
//if (val == 0)
//{
// Console.WriteLine("两个数相同");
//}
//else if (val == 1)
//{
// Console.WriteLine("第一个数比较大");
//}
//else if (val == -1)
//{
// Console.WriteLine("第二个数比较大");
//}
//Console.ReadLine();
//Book book1; //声明book1 类型为Book
//book1.Title = "Internet of things";
//book1.contents = "changbaojituan";
//Console.WriteLine(book1.Title);
//Console.WriteLine(book1.contents);
//Console.ReadLine();
//枚举enum
//结构可带有方法、字段、索引、属性、运算符方法和事件。
//结构可定义构造函数,但不能定义析构函数。但是,您不能为结构定义默认的构造函数。默认的构造函数是自动定义的,且不能被改变。
//与类不同,结构不能继承其他的结构或类。
//结构不能作为其他结构或类的基础结构。
//结构可实现一个或多个接口。
//结构成员不能指定为 abstract、virtual 或 protected。
//当您使用 New 操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用 New 操作符即可被实例化。
//如果不使用 New 操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用。
//int weekStart = (int)Day.Mon;
//int weekEnd = (int)Day.Fri;
//Console.WriteLine(weekStart);
//Console.WriteLine(weekEnd);
//Console.ReadLine();
}
/// <summary>
/// 创建枚举
/// </summary>
enum Day {
Sun,Mon,Tue,Wed,Thu,Fri,Sat
}
int a = 10;
/// <summary>
/// 创建一个Struct结构
/// </summary>
struct Book{
public String Title;
public String contents;
}
/// <summary>
/// 运行时间函数
/// </summary>
static void SubTest()
{
DateTime beforDT = System.DateTime.Now;
//耗时巨大的代码
DateTime afterDT = System.DateTime.Now;
TimeSpan ts = afterDT.Subtract(beforDT);
Console.WriteLine("DateTime总共花费{0}ms.", ts.TotalMilliseconds);
}
/// <summary>
/// 带实际参数方法
/// </summary>
/// <param name="a">参数a</param>
/// <param name="b">参数b</param>
public void swap(int a, int b) {
int temp;
temp = a;
a = b;
b = temp;
}
/// <summary>
/// 形式参数方法
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
public void swap(ref int a,ref int b) {
int temp;
temp = a;
a = b;
b = temp;
}
//递归函数计算一个数的阶乘
public int jiecheng(int num) {
if (num == 1)
{
return 1;
}
else {
return jiecheng(num - 1) * num;
}
return num;
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Operation
{
class Program
{
static void Main(string[] args)
{
//int a = 0;
//int b = 0;
//Console.WriteLine("请输入a的值");
//a = Convert.ToInt32(Console.ReadLine());
//b = ++a;
//Console.WriteLine("a的值为" + a + " b的值为" + b);
//Console.ReadLine();
输出数据类型的大小
//Console.WriteLine(sizeof(int));
//Console.ReadLine();
/*
Internal 访问修饰符
Internal 访问说明符允许一个类将其成员变量和成员函数暴露给当前程序中的其他函数和对象。
换句话说,带有 internal 访问修饰符的任何成员可以被定义在该成员所定义的应用程序内的任何类或方法访问。
*/
//Program p = new Program();
//int val = p.jiecheng(6);
//int val1 = p.jiecheng(7);
//Console.WriteLine("6的阶乘为"+val+" 7的阶乘为"+val1);
//Console.ReadLine();
//实际参数与形式参数
//Program p = new Program();
实际参数
//int a = 30;
//int b = 20;
//Console.WriteLine("数值交换前"+a);
//Console.WriteLine("数值交换前"+b);
//Console.ReadLine();
为实际参数
//p.swap(ref a, ref b);
带实际参数输出内容
//Console.WriteLine("带实际参数输出内容数值交换后" + a);
//Console.WriteLine("带实际参数输出内容数值交换后" + b);
//Console.ReadLine();
带ref的为形式参数
//p.swap(ref a, ref b);
带形式参数输出内容
//Console.WriteLine("带形式参数输出内容数值交换后" + a);
//Console.WriteLine("带形式参数输出内容数值交换后" + b);
//Console.ReadLine();
//二维数组
//int[,] array = new int[5,2]{{0,1},{2,3},{4,5},{6,7},{8,9}};
foreach语句只需要一次可以完全遍历整个二维数组,速度较快
//foreach (int i in array)
//{
// Console.WriteLine(i);
//}
//for (int i = 0; i < 5; i++)
//{
// for (int j = 0; j < 2; j++)
// {
// Console.WriteLine(array[i, j]);
// }
//}
//SubTest();
//Console.ReadLine();
//string b1 = " C# zwy";
//string b2 = "C# zhongwenyong";
//double num1 = b1.Length;
//double num2 = b2.Length;
使用string方法是带上前缀
//int val = String.Compare(b1, b2);
//if (val == 0)
//{
// Console.WriteLine("两个数相同");
//}
//else if (val == 1)
//{
// Console.WriteLine("第一个数比较大");
//}
//else if (val == -1)
//{
// Console.WriteLine("第二个数比较大");
//}
//Console.ReadLine();
//Book book1; //声明book1 类型为Book
//book1.Title = "Internet of things";
//book1.contents = "changbaojituan";
//Console.WriteLine(book1.Title);
//Console.WriteLine(book1.contents);
//Console.ReadLine();
//枚举enum
//结构可带有方法、字段、索引、属性、运算符方法和事件。
//结构可定义构造函数,但不能定义析构函数。但是,您不能为结构定义默认的构造函数。默认的构造函数是自动定义的,且不能被改变。
//与类不同,结构不能继承其他的结构或类。
//结构不能作为其他结构或类的基础结构。
//结构可实现一个或多个接口。
//结构成员不能指定为 abstract、virtual 或 protected。
//当您使用 New 操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用 New 操作符即可被实例化。
//如果不使用 New 操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用。
//int weekStart = (int)Day.Mon;
//int weekEnd = (int)Day.Fri;
//Console.WriteLine(weekStart);
//Console.WriteLine(weekEnd);
//Console.ReadLine();
}
/// <summary>
/// 创建枚举
/// </summary>
enum Day {
Sun,Mon,Tue,Wed,Thu,Fri,Sat
}
int a = 10;
/// <summary>
/// 创建一个Struct结构
/// </summary>
struct Book{
public String Title;
public String contents;
}
/// <summary>
/// 运行时间函数
/// </summary>
static void SubTest()
{
DateTime beforDT = System.DateTime.Now;
//耗时巨大的代码
DateTime afterDT = System.DateTime.Now;
TimeSpan ts = afterDT.Subtract(beforDT);
Console.WriteLine("DateTime总共花费{0}ms.", ts.TotalMilliseconds);
}
/// <summary>
/// 带实际参数方法
/// </summary>
/// <param name="a">参数a</param>
/// <param name="b">参数b</param>
public void swap(int a, int b) {
int temp;
temp = a;
a = b;
b = temp;
}
/// <summary>
/// 形式参数方法
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
public void swap(ref int a,ref int b) {
int temp;
temp = a;
a = b;
b = temp;
}
//递归函数计算一个数的阶乘
public int jiecheng(int num) {
if (num == 1)
{
return 1;
}
else {
return jiecheng(num - 1) * num;
}
return num;
}
}
}
今日了解C#运算符,C#判断,C#循环,C#封装,C#方法,c#可空类型,C#数组(Array)其中懂得了用foreach比for循环好用,具体在代码上有实现,C#字符串,C#结构(Struct),C#枚举(enum),C#类(Class)
重温下string字符串,以及static