笔记目录:http://blog.csdn.net/enzymii/article/details/77169928

  1. C#的接口有点意思,我们说过可以用来多重继承。。
using System;

namespace HelloWorld
{
interface IParentInterface
{
void add();
} interface IMyInterface:IParentInterface //接口可以继承..
{
void minus();
} class TwoNumber : IMyInterface, IParentInterface //接口还可以多重继承..
{
public void add()
{
Console.WriteLine("Add");
} public void minus()
{
Console.WriteLine("Minus");
}
} class MainProcess
{
static void Main()
{
TwoNumber tw = new TwoNumber();
tw.add();
tw.minus();
}
}
}

尽管这东西之前也没接触过,但看过多态之后就比较明白,比较好理解了。。。
1. namespace是没啥好讲的哈。
2. 预处理器指令
- #define会用,而且C#的#define好像适用范围比C++窄,比如不能用来压行。。。
- #undef #else #elif都会
- C++里我一般用#ifdef而非#if但好像一个道理就比较简单
- #error和#warning我懂啥意思但没亲自用过
可能就这些吧= =

  1. 下面就是令我头痛欲裂,看了好几遍都难以理解的“正则表达式”。。。
    今天看了一篇blog,讲得还不错,再加上我百度百科都看了好几遍,终于对正则表达式有了初步的理解。。这篇blog的链接我放一下:https://deerchao.net/tutorials/regex/regex.htm
    由于正则表达式我没有深刻理解,故不敢妄言。。
    正则表达式好像是用来匹配字符串的(乍一看,这不就是乱码嘛)。。在不少情况下有着非常良好的表现,.net框架中实现了一个正则表达式引擎。。
    然后就是背各种各样的要素了,这个还是用到的时候查表吧。。毕竟用的多自然就背过了。。

  2. 异常处理
    C#的异常处理比C++多了个finally关键字。。据说是用于不管是否抛出异常都要执行的语句。。
    try,throw,catch应该都是一样的。。。
    不过C#的异常是使用类来表示的= =
    有很多预定义的异常类,这个要去了解。
    比如:

    System.DividByZeroException //被零除异常

然后还可以自定义异常= =
举个栗子:

using System;

namespace HelloWorld
{
public class MinusException : ApplicationException
{
public MinusException(string message) : base(message)
{ }
} class NumCheck
{
public int num = 0; public void Setnum(int x)
{
num = x;
} public void Checknum()
{
if (num < 0)
{
throw (new MinusException("The Num is Minus!"));
}
else
{
Console.WriteLine("The Num is:{0}", num);
}
}
} class MainProcess
{
public static void Main()
{
NumCheck x = new NumCheck();
try
{
x.Setnum(2);
x.Checknum(); //无异常
x.Setnum(-2);
x.Checknum(); //抛出异常
x.Setnum(2);
x.Checknum(); //无异常
}
catch(MinusException minus)
{
Console.WriteLine("Exception:{0}", minus.Message);
}
finally
{
Console.WriteLine("num:{0}", x.num);
}
}
}
}

以上程序的运行结果为:

所以很明显,抛出异常之后try{}里剩下的代码不会运行,而finally里的会运行。
所以基本就这样吧= =

  1. 文件I/O实在是太多了……等用到再慢慢研究吧= =

本篇中还要学习的(话说之前欠下的我还没还呢):
0. 今天学到的东西以前基本都没接触到过或是只学到了一些皮毛,要多加练习。。
1. 使用一下自己没使用过的预处理器指令
2. 正则表达式
3. finally关键字、异常类
4. 文件I/O

【笔记篇】C#笔记3的更多相关文章

  1. cocos2d-x -------之笔记篇 环境的安装

    cocos2d-x -------之笔记篇 环境的安装 使用到的工具有VS2010  cygwin android-NDK eclipse android SDK 1.首先是android相关环境的安 ...

  2. 鸟哥Linux私房菜基础学习篇学习笔记3

    鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...

  3. 鸟哥Linux私房菜基础学习篇学习笔记2

    鸟哥Linux私房菜基础学习篇学习笔记2 第九章 文件与文件系统的压缩打包: Linux下的扩展名没有什么特殊的意义,仅为了方便记忆. 压缩文件的扩展名一般为: *.tar, *.tar.gz, *. ...

  4. 鸟哥Linux私房菜基础学习篇学习笔记1

    鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...

  5. Java反射篇学习笔记

    今天重新学习了java中的反射,写一篇学习笔记总结一下.代码基本都是照着两篇博客敲的: 参考一:   https://blog.csdn.net/sinat_38259539/article/deta ...

  6. [读书笔记]C#学习笔记八:StringBuilder与String详解及参数传递问题剖析

    前言 上次在公司开会时有同事分享windebug的知识, 拿的是string字符串Concat拼接 然后用while(true){}死循环的Demo来讲解.其中有提及string操作大量字符串效率低下 ...

  7. 第一篇markdown笔记

    博客的样式设置 1 2 3 参考第一篇博客 参考第二篇博客 高效的写博客 博客园虽然支持markdown,但是好多快捷键都不支持,以后可以先在马克飞象上写好markdown笔记,再复制到博客上.

  8. java程序设计基础篇 复习笔记 第一单元

    java语言程序设计基础篇笔记1. 几种有名的语言COBOL:商业应用FORTRAN:数学运算BASIC:易学易用Visual Basic,Delphi:图形用户界面C:汇编语言的强大功能和易学性,可 ...

  9. 智普教育Python视频教程之入门基础篇,python笔记

    智普教育Python视频教程之入门基础篇,python笔记 print id()内存地址 type()变量类型 windows命令行下edit命令 python数据类型不需要指定类型 定义hostna ...

随机推荐

  1. HTML 技巧

    超过指定宽度以".."显示 width:80px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;

  2. VS2010-MFC(Ribbon界面开发:为Ribbon Bar添加控件)

    转自:http://www.jizhuomi.com/software/253.html 前面一节为大家简单介绍了如何创建Ribbon样式的应用程序框架,本节教程就来初步讲讲怎样为Ribbon Bar ...

  3. scrollReveal.js导致页面加载完之后页面中点击事件添加的css参数失效了(我的Hexo next博客引发的问题)

    文章目录 时间 背景 问题解决 个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 时间 2019 ...

  4. Apache Solr 远程命令+XXE执行漏洞(CVE-2017-12629)

    Apache Solr 最近有出了个漏洞预警,先复习一下之前的漏洞 命令执行 先创建一个listener,其中设置exe的值为我们想执行的命令,args的值是命令参数 POST /solr/demo/ ...

  5. MySQL数据库中,使用 group by 时,不重复字段如何拼接显示

    就不写文字描述了,直接用图和sql来表述吧. 这是测试数据,表名为 person 现在,我想按照性别进行分组,也就是字段 sex ,同时能将分组后的姓名全部显示出来. sql 语句如下: SELECT ...

  6. 剑指offer——22表示数值的字符串

    题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3.1 ...

  7. selenium基础(滚动条操作)

    滚动条操作:当待操作的元素在页面可是区域外时,要将待操作的元素滚动到可视区域当中 步骤:1.先找要将要操作的元素element = driver.find_element_by_xxxx(" ...

  8. 可读性 vs 效率

    哪个重要. 应用层代码来说,实际上说任意一个重要都不为过, 但是到了内核里面之后,哪个重要. 肯定是效率阿,内核跑得慢,上面还有得玩么.

  9. Apache2.2+tomcat7 负载均衡配置

    思路及步骤:第一步配置tomcat,第二步配置apache 服务器,第三步添加项目到tomcat中并测试 第一步配置tomcat 1,打开 第一个tomcat,conf文件夹下的server.xml ...

  10. 【数论分块】[BZOJ2956、LuoguP2260] 模积和

    十年OI一场空,忘记取模见祖宗 题目: 求$$\sum_{i=1}^{n}\sum_{j=1}^{m} (n \bmod i)(m \bmod i)$$ (其中i,j不相等) 暴力拆式子: $$ANS ...