[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 数组01
{
class Program
{
//定义一个枚举的类型.也是一种数据类型,(创建自定义的数据类型)enum就是枚举的缩写,
enum Season { 春天,夏天, 秋天, 冬天 };
enum Gender { 男, 女 };//男,女,枚举元素,每个元素都是有值得,类似于数组
//定义一个结构类型
public struct Book
{
public string Title;//定义一个string 类型的变量,书名
public double Price;//顶一个double类型的变量,价格
public int PageNo;//顶一个PageNo 类型的变量,页数
}
static void Main(string[] args)
{
#region 数组
// //string[] strs = { "你","好","吗" };
// //Console.WriteLine(Combine(strs));
// //Console.ReadKey();
// //利用Main方法的参数
//// Console.WriteLine(Combine(args));
// string[] strs = { "你", "好", "吗" };
// Console.WriteLine(Combine2(strs));
// Console.WriteLine(Combine2("你", "好", "吗"));
// Console.WriteLine(Combine2("很", "好"));
// Consol.eWriteLine(Combine2());
// //Console.WriteLine(Combine2(1,2,3));//不对.
// //parames决定参数数量不固定,object决定参数类型不固定
// Console.WriteLine("今天是{0},{1},{2}", DateTime.Now);
#endregion
#region 数组
// //值类型 int
// int i1 = 9;
// int i2 = i1;
// Console.WriteLine("i1={0},i2={1}", i1, i2);
// i1 = 10;
// Console.WriteLine("i1={0},i2={1}", i1, i2);
// int[] arg = { 10, 9, 8, 7 };
// int[] arg2 = arg;
// Console.WriteLine(arg2[0]);
// arg[0] = 20;
// Console.WriteLine(arg2[0]);
// Console.ReadKey();
//}
//static string Combine2(params string[] strs)//params 参数的意思,
//{
// //方法的返回值要求所有的路径必须都有返回值
// string str = string.Empty;//string类的属性,表示空属性,建议使用这个,而不是""
// foreach (string s in strs)
// {
// str += s;
// }
// return str;
#endregion
#region 数据类型
////int 是值类型
//int i1 = 9;//定义整数变量
//int i2 = i1;
//Console.WriteLine("i1={0},i2={1}", i1, i2);
//i1 = 10;
//Console.WriteLine("i1={0},i2{1}", i1, i2);
////引用类型,数组是引用类型
//int[] arg = { 10, 9, 8, 7 };
//int[] arg2 = arg;
//Console.WriteLine(arg2[0]);//10
//arg[0] = 20;
//Console.WriteLine(arg2[0]);//20
//如果参数本身就是引用类型,加不加ref,都是一样的
//Method(ref arg);
//Consoel.WriteLine(arg[0]);
//Method(arg);
//Consoel.WriteLine(arg[0]);
////如果参数本身就是值类型,加ref和不加表现不同
//int a = 1;
//Method(a);
//Console.WriteLine(a);
//Method(ref a);
//Console.WriteLine(a);
//string 是一个特殊的引用类型,外在表现同值类型
//string a = "大毛";
//string b = a;
//a = "二毛";
//Consoel.WriteLine(b);
//释放引用类型
//int[] arg = { 10, 9, 8, 7 };
//arg = null;//这就是释放引用类型
//arge = new int[] { 1, 2, 3 };//重新声明
//string str = null;//所有引用类型都可以使用null
////int i = null;//不对.
//比较值类型 和 引用类型
//int a = 0;
//int b = 0;
//if (a == b)
// Console.WriteLine("相同");
//else
// Console.WriteLine("不同");
////引用类型比较的是引用
//int[] arr = { 1, 2, 3 };
//int[] arr2 = { 1, 2, 3 };
//if (arr == arr2)
// Console.WriteLine("相同");
//else
// Console.WriteLine("不同");
//字符串的特殊性,比较的是数值
//string s1 = "abc";
//string s2 = "abc";
//if (s1 == s2)//输出的是相同
// Console.WriteLine("相同");
//else
// Consoel.WriteLine("不同");
#endregion
////声明一个枚举类型变量
//Season sea = Season.春天;
//int x = (int)season.春天;//枚举类型里面的一个元素
//Consoel.WriteLine(x);//结果是0
////练习
//Consoel.WriteLine("请录入性别");
//string input = Console.ReadLine();
//Gender sex;
//if (input == "男")
// sex = Gender.男;
//else
// sex = Gender.女;
//if (Gender.男)
// Console.WriteLine("先生你好");
//else
// Console.WriteLine("女士你好");
//结构
Book book = new Book();//声明一个变量,给它做一个初始化
book.Title = "佳明打阔阔";
book.Price = 120;
book.PageNo = 500;
Console.WriteLine("书名:{0},价格:{1},页数:{2}",
book.Title, book.Price, book.PageNo);
Console.ReadKey();
}
static void Method(int i)//值类型
{
i++;
}
static void Method(ref int i)//引用类型
{
i++;
}
//方法的参数:值类型参数,引用类型参数针对值类型变量有效
//如果参数数据类型是引用类型,不管参数是否加ref,表现都是引用类型的表现
static void Method(ref int[] ints)//值类型
{
intes[0]++;//这是引用类型
}
static void Method(int[] ints)
{
intes[0]++;
}
}
}