using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PromoteDay01
{
class Program
{
static void Main(string[] args)
{
/*----------------------------------字符串操作*/
//string str1 = "str1" + 9;
//string str2 = "str2" + 9.ToString();
//装箱和拆箱概念
/*值类型到引用类型是装箱,引用类型值类型是拆箱
1、值类型:整型int、长整型long、浮点型float、字符串char、布尔类型bool、枚举enum、结构体strcut。他们同意继承自system.ValueType
2、引用类型:数组、用户定义类、 接口、委托、Object、字符串
object obj= 1;是从值类型到引用类型,是装箱
int i = (int)obj;从引用类型到值类型,是拆箱
*/
//string a = "aa";
//a = "c" + "h" + a;//创建了仨个字符串对象,并调用了system.contact方法
//string a1 = "a" + "c" + "h";//建议这样使用,不会调用system.contact方法
字符串操作使用stringBuilder,stringbuilder是建立了非托管代码,效率最高
//string i = "I\r\n";
//string s = "love\r\n";
//string d = "you\r\n";
//StringBuilder ly = new StringBuilder(s);
//ly.Append(d);
//ly.Insert(0, i);//插入字符串,从某个下标开始
//ly.AppendLine("我爱你!");
//Console.WriteLine(ly);
//Console.ReadKey();
///*--------------------------2018.08.03 0.23*/
///*--------------------------使用默认转型方法*/
//int k = 0;
//float j = 4; //从小范围到大范围是隐式类型转换,反之是显示类型转换
//string l = "10";
//重载 implict 隐式用户类型转换,explcit显示类型转换
Digit dig = new Digit(7);
double num = dig;
Digit dig2 = 12;
}
}
//c# implicit explicit关键字
class Digit
{
public double val;
public Digit(double d)
{
this.val = d;
}
public static implicit operator double(Digit d)
{
return d.val;
}
public static implicit operator Digit(double d)
{
return new Digit(d);
}
}
}