1.里氏转换

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _01
{class Program{static void Main(string[] args){1、里氏转换1)、子类可以赋值给父类:如果有一个地方需要一个父类作为参数,我们可以给一个子类代替//  Student s = new Student();Person p = new Student();//s;//string str = string.Join("|",new string[] { "1", "2", "3", "4" });//Console.WriteLine(str);//Console.ReadKey();2)、如果父类中装的是子类对象,那么可以讲这个父类强转为子类对象。//is的用法//if (p is Student)//{//    Student ss = (Student)p;//    ss.StudentSayHello();//}//else//{//    Console.WriteLine("转换失败");//}//as的用法Student t = p as Student;t.StudentSayHello();Console.ReadKey();}}public class Person{public void PersonSayHello(){Console.WriteLine("我是父类");}}public class Student : Person{public void StudentSayHello(){Console.WriteLine("我是学生");}}public class Teacher : Person{public void TeacherSayHello(){Console.WriteLine("我是老师");}}}

2.ArrayList集合

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _02
{class Program{static void Main(string[] args){//创建了一个集合对象ArrayList list = new ArrayList();//集合:很多数据的一个集合//数组:长度不可变、类型单一//集合的好处:长度可以任意改变  类型随便list.Add(1);list.Add(3.14);list.Add(true);list.Add("张三");list.Add('男');list.Add(5000m);list.Add(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });Person p = new Person();list.Add(p);list.Add(list);//list.AddRange(new string[]{})for (int i = 0; i < list.Count; i++){if (list[i] is Person){((Person)list[i]).SayHello();}else if (list[i] is int[]){for (int j = 0; j < ((int[])list[i]).Length; j++){Console.WriteLine(((int[])list[i])[j]);}}else{Console.WriteLine(list[i]);}//Console.WriteLine(list[i]);}Console.ReadKey();}}public class Person{public void SayHello(){Console.WriteLine("我是人类");}}
}

3.ToString方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _03
{class Program{static void Main(string[] args){//我们将一个对象输出到控制台  默认情况下 打印的就是这个对象所在的类的命名空间int[] nums = { 1, 2, 3, 4, 5 };Console.WriteLine(nums.ToString());Person p = new Person();Console.WriteLine(p.ToString());Console.ReadKey();}}public class Person{public void SayHello(){Console.WriteLine("我是人类");}}
}

4.ArrayList练习

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _04
{class Program{static void Main(string[] args){//创建一个集合,里面添加一些数字,求平均值与和,最大值,最小值//ArrayList list = new ArrayList();//list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });//int sum = 0;//int max = (int)list[0];//for (int i = 0; i < list.Count; i++)//{//    if ((int)list[i] > max)//    {//        max = (int)list[i];//    }//    sum += (int)list[i];//}//Console.WriteLine(sum);//Console.WriteLine(max);//Console.WriteLine(sum/list.Count);//Console.ReadKey();//写一个长度为10的集合,要求在里面随机地存放10个数字(0-9),//但是要求所有的数字不重复//ArrayList list = new ArrayList();//Random r = new Random();//for (int i = 0; i <10; i++)//{//    int rNumber = r.Next(0, 10);//    //集合中没有这个随机数//    if (!list.Contains(rNumber))//    {//        list.Add(rNumber);//    }//    else//集合中有这个随机数//    {//        //一旦产生了重复的随机数 这次循环就不算数//        i--;//    }//}//for (int i = 0; i < list.Count; i++)//{//    Console.WriteLine(list[i]);//}//Console.ReadKey();string str = "2++b/c*d/e";string[] strNew = str.Split(new char[] { '+', '-', '*', '/' });StringBuilder sb = new StringBuilder();//capcity countsb.Append("12312312312312312");Console.WriteLine(sb.Capacity);//char[] chs=  {'1','2','3'};Console.ReadKey();}}
}

5.键值对集合

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _05
{class Program{static void Main(string[] args){//创建了一个键值对集合对象Hashtable ht = new Hashtable();ht.Add(1, "张三");ht.Add(2, true);ht.Add(3, '男');ht.Add(false, "错误的");ht.Add(5, "张三");ht[6] = "新来的";//这也是一种添加数据的方式ht[1] = "欢迎张三";ht.Add("abc", "cba");//abc----cbaif (!ht.ContainsKey("abc")){//ht.Add("abc", "哈哈哈");ht["abc"] = "哈哈哈";}else{Console.WriteLine("已经包含abc这个键!!!");}// ht.Clear(); //移除集合中所有的元素ht.Remove(3);foreach (var item in ht.Keys){Console.WriteLine("键是-----{0}==============值是{1}", item, ht[item]);}//在键值对集合中 是根据键去找值的//Console.WriteLine(ht[1]);//Console.WriteLine(ht[2]);//Console.WriteLine(ht[3]);//Console.WriteLine(ht[false]);//Console.WriteLine("==================================");//for (int i = 0; i < ht.Count; i++)//{//    Console.WriteLine(ht[i]);//}Console.ReadKey();}}
}

6.Var推断类型

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _06
{class Program{static void Main(string[] args){//var:根据值能够推断出来类型//c#是一门强类型语言:在代码当中,必须对每一个变量的类型有一个明确的定义//var n = 15;//var n2 = "张三";//var n3 = 3.14;//var n4 = 5000m;//var n5 = true;//var n6 = '男';//Console.WriteLine(n.GetType());//Console.WriteLine(n2.GetType());//Console.WriteLine(n3.GetType());//Console.WriteLine(n4.GetType());//Console.WriteLine(n5.GetType());//Console.WriteLine(n6.GetType());//Console.ReadKey();//var input;//input = "张三";//js是一门弱类型语言//12 3.14 true "fdsfds"  'c'  var}}
}

7.foreach循环

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _07
{class Program{static void Main(string[] args){//int[] nums = { 1, 2, 3, 4, 5, 6, 76, 7, 8, 23 };//for (int i = 0; i < nums.Length; i++)//{//    Console.WriteLine(nums[i]);//}//Console.WriteLine("=====================================");//foreach (var item in nums)//{//    Console.WriteLine(item);//}//Console.ReadKey();//Stopwatch sw = new Stopwatch();//int[] nums = new int[1000];00:00:04.206921900:00:00.000007000:00:00.0000121//sw.Start();//foreach (var item in nums)//{//}//for (int i = 0; i < nums.Length; i++)//{//}//sw.Stop();//Console.WriteLine(sw.Elapsed);//Console.ReadKey();}}
}

8.Path类

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _08
{class Program{static void Main(string[] args){string str = @"C:\3000soft\Red Spider\Data\abc\C#学习.wav";//获得文件名Console.WriteLine(Path.GetFileName(str));//获得文件名但是不包含扩展名Console.WriteLine(Path.GetFileNameWithoutExtension(str));//获得文件的扩展名Console.WriteLine(Path.GetExtension(str));//获得文件所在的文件夹的名称Console.WriteLine(Path.GetDirectoryName(str));//获得文件所在的全路径Console.WriteLine(Path.GetFullPath(str));//连接两个字符串作为路径Console.WriteLine(Path.Combine(@"c:\a\" , "b.txt"));//int index = str.LastIndexOf("\\");//str = str.Substring(index + 1);//Console.WriteLine(str);Console.ReadKey();}}
}

9.File类

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _09
{class Program{static void Main(string[] args){//创建一个文件//File.Create(@"C:\Users\SpringRain\Desktop\C语言.txt");//Console.WriteLine("创建成功");//Console.ReadKey();//删除一个文件//File.Delete(@"C:\Users\SpringRain\Desktop\C语言.txt");//Console.WriteLine("删除成功");//Console.ReadKey();//1024byte=1kb//1024kb=1M//1024M=1G//1024G=1T//1024T=1PT//复制一个文件//File.Copy(@"C:\Users\SpringRain\Desktop\code.txt", @"C:\Users\SpringRain\Desktop\new.txt");//Console.WriteLine("复制成功");//Console.ReadKey();//剪切File.Move(@"C:\Users\SpringRain\Desktop\code.txt", @"C:\Users\SpringRain\Desktop\newnew.txt");Console.WriteLine("剪切成功");Console.ReadKey();//Console.WriteLine(sizeof(char));//Console.ReadKey();//Console.WriteLine(sizeof(string));a  "dsfdsfds"//Console.ReadKey();}}
}

10.File类练习

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace _10
{class Program{static void Main(string[] args){//byte[] buffer = File.ReadAllBytes(@"C:\Users\SpringRain\Desktop\01.txt");//EncodingInfo[] en = Encoding.GetEncodings();//foreach (var item in en)//{//    Console.WriteLine(item.DisplayName);//}//Console.ReadKey();//将字节数组转换成字符串//string s = Encoding.UTF8.GetString(buffer);//Console.WriteLine(s);// Console.WriteLine(buffer.ToString());//编码格式:指的就是你以怎样的形式来存储字符串//a-z 0-9  Ascii  117 u---->汉字--->GB2312 GBK//int n = (int)'u';//char c = (char)188;//Console.WriteLine(c);Console.WriteLine(n);//string s="今天天气好晴朗,处处好风光";将字符串转换成字节数组//byte[] buffer=  Encoding.Default.GetBytes(s);以字节的形式向计算机中写入文本文件//File.WriteAllBytes(@"C:\Users\SpringRain\Desktop\01.txt", buffer);//Console.WriteLine("写入成功");//Console.ReadKey();//使用File类来实现一个多媒体文件的复制操作//读取byte[] buffer = File.ReadAllBytes(@"C:\Users\SpringRain\Desktop\12333.wmv");Console.ReadKey();写入//File.WriteAllBytes(@"C:\Users\SpringRain\Desktop\new.wav", buffer);//Console.WriteLine("复制成功");//Console.ReadKey();//byte[] buffer=new byte[1024*1024*5];//while (true)//{//    File.WriteAllBytes(@"C:\Users\SpringRain\Desktop\123.wmv", buffer);//}}}
}

C#学习之面象对象继承练习(二)相关推荐

  1. 面象对象设计6大原则之二:开放封闭原则

    转载自 面象对象设计6大原则之二:开放封闭原则 开放封闭原则(OCP),The Open Closed Principle 定义 一个软件的实体,包括类.方法.模块.应该对扩展开放,对修改关闭. 也就 ...

  2. python代码学习——类与对象提升(继承、超继承,类的例题,魔术方法)

    python代码学习--类与对象提升 继承 继承的特殊属性: 代码示例 方法的重写和覆盖(overrrid) 总结 超继承 继承中的初始化 多继承 例题 类的魔术方法 哈希(hash)和eq方法 bo ...

  3. JavaScript学习笔记之对象及继承

    JavaScript学习笔记之对象及继承 对象属性 ES5中有两种属性,数据属性和访问器属性. 数据属性包括[[writable]](能否修改属性的值).[[value]]等等: 访问器属性包括[[C ...

  4. JavaScript学习笔记(十)构造函数封装、对象检测、对象继承

    构造函数封装 创建一个对象可以使用字面量或者构造函数的方法,但是纯对象只能调用Object.prototype中的方法,并且类型无法细分.(细分类型是指特定的对象可以调用特定方法). 工厂函数模式 f ...

  5. 学习Scala:伴生对象和伴生类之间的关系(二)

    孤立对象是只有一个object关键字修饰的对象,该对象会编译成两个class文件,一个是以孤立对象的名字命名的class, 一个是以孤立对象的名字后面加上一个$ 字符命名的class, 这个class ...

  6. python编程语言继承_python应用:学习笔记(Python继承)

    学习笔记(Python继承)Python是一种解释型脚本语言,可以应用于以下领域: web 和 Internet开发 科学计算和统计 人工智能 教育 桌面界面开发 后端开发 网络爬虫 有几种叫法(父类 ...

  7. 学习Kotlin(四)对象与泛型

    推荐阅读: 学习Kotlin(一)为什么使用Kotlin 学习Kotlin(二)基本语法 学习Kotlin(三)类和接口 学习Kotlin(四)对象与泛型 学习Kotlin(五)函数与Lambda表达 ...

  8. 小汤学编程之JavaScript学习day04——自定义对象、原型与原型链、BOM

    一.自定义对象 1.对象的定义     2.对象的使用 二.原型与原型链 1.JS的继承结构图     2.关键点 三.BOM 1.window对象     2.document对象     3.lo ...

  9. 学习Coding-iOS开源项目日志(二)

    继续前篇:<学习Coding-iOS开源项目日志(一)>,接着本第二篇<学习Coding-iOS开源项目日志(二)>讲解Coding-iOS开源项目. 前言:作为初级程序员,想 ...

最新文章

  1. Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”
  2. 理解注意力机制的好文二
  3. 【drp 11】使用Junit简单测试接口方法
  4. android调用oncreate,Android - 每次启动时都会调用onCreate
  5. JSP+Javabean+Servlet实现用户注册
  6. poj 1985 Cow Marathon 【树的直径】
  7. oracle shared_pool_size 0,Oracle 参数shared_pool_size
  8. 从优秀到卓越 pdf_演讲口才培训:演讲能力是卓越领导者需要具备的能力
  9. 在VB中用DAO实现数据库编程Java教程
  10. 还记得儿时的那片海么?
  11. 微信speex音频格式转mp3
  12. focaltech(敦泰)触摸屏驱动Ft5306.c学习记录
  13. 2022卡塔尔世界杯来了,谁是你心中的夺冠热门球队?
  14. 关于信息熵 ,KL散度,交叉熵,一文读懂(bushi)。
  15. 软件工程Alpha冲刺day7
  16. 基于Capacitor编写Ionic React二维码扫描应用
  17. (65)-- 爬取58交友信息
  18. Weakly-Supervised Aspect-Based Sentiment Analysis via Joint Aspect-Sentiment Topic Embedding论文阅读
  19. 各人口大国的人口密度排名
  20. java实现简繁字体转换

热门文章

  1. 添加项目到debug调试
  2. html星空炫彩粒子,炫彩粒子模拟
  3. PYTHON 获取邮件发送时间
  4. 将域名直接映射到网站首页(通过域名即可访问网站首页)
  5. 用html5做课件,涨姿势┃一分钟PPT轻松转化H5,让“课件”动起来
  6. 【服务端】多线程游戏服务端
  7. 天龙八部科举答题问题和答案(全8/8)
  8. 制作系统盘并且重装系统
  9. 华硕x550JK,i5改进
  10. PP-ShiTu 库管理工具使用教程