目录
形参实参和传值传引用
//不管是形参还是实参,在内存中都是开辟了空间的
static void Main(string[] args)
{
int n = 10; //n是实参
Test(n);
Console.WriteLine("n:"+n); //输出n:10
Console.ReadKey();
}
public static void Test(int n) //n是形参
{
n += 20;
}
ref 关键字可以把值传递改变为引用传递
static void Main(string[] args)
{
int n = 10;
Test(ref n);
Console.WriteLine("n:"+n); //输出n:30
Console.ReadKey();
}
static void Test(ref int n)
{
n += 20;
}
字符串 <-->字符
string str = "abcdefg";
char[] chs = str.ToCharArray();
chs[2] = 'z';
foreach (char item in chs)
{
Console.WriteLine(item);
}
Console.WriteLine(str);
str = new string(chs);
字符串比较
string s1 = "aBc";
string s2 = "Abc";
if(s1.Equals(s2,StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine("相等");
}
else
{
Console.WriteLine("不相等");
}
字符串拆分截取拼接和替换
string str = "张 ,,--三 ,李,,--四 a ";
string[] strNew = str.Split(new char[] { ',', ' ', '-' },StringSplitOptions.RemoveEmptyEntries);
string s = " 张 ,,,--- 三 ,,,--- ";
Console.WriteLine(s.TrimEnd(',','-',' '));
string[] names = { "金秀贤", "金贤秀" ,"金正日","金正恩"};
string res = string.Join("|", 'c', "张三", 100, 3.14, true, 500m);
Console.WriteLine("请输入你要回复的内容");
string contents = Console.ReadLine();
//判读contents中是否包含敏感词
if (contents.Contains("老赵"))
{
contents = contents.Replace("老赵","*****");
}
Console.WriteLine(contents);
Equal和ToString
class Program
{
static void Main(string[] args)
{
//对于string类型而言,不管是等号还是Equals比较的都是值本事
Person p1 = new Person() { Name = "刘德华", Age = 18 };
Person p2 = new Person() { Name = "刘德华", Age = 18 };
if (p1.Equals(p2))
{
Console.WriteLine("相等");
}
else
{
Console.WriteLine("不相等");
}
Console.WriteLine(p1.ToString());
Console.ReadKey();
}
}
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public override bool Equals(object obj)
{
Person person = obj as Person;
if (person != null)
{
if (this.Name == person.Name && this.Age == person.Age)
{
return true;
}
}
return false ;
}
//默认ToString输出当前类全类名
public override string ToString()
{
return "我是被重写的ToString()";
}
}