
C#
weixin_42681308
这个作者很懒,什么都没留下…
展开
-
北京理工大学金旭亮老师C#(01—OOPIntroduce)
软件是怎么写出来的?面临的问题:如何表达信息以方便计算机处理? 如何设计与选择特定的算法处理信息? 如何编写程序实现算法?你需要做出的决策:解决之道:设计和选用合适的数据结构 算法:分而治之,动态规划 & 程序控制结构:分支、循环、递归 选择合适的技术手段设计合理的技术方案写出一个有用的程序,需要掌握哪些基础知识?程序是如何被计算机执行的? 各种信息是如何用0...转载 2019-02-27 18:15:41 · 275 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(010—CSharpProgramRule)
大致了解C#基本编程规则编写的代码放在“类(class)”中,类是C#编程的基本单元 “项目”是VS编译的最小单元 一个“解决方案”中可以有多个项目,显示为粗体的是启动项目 一个项目中可以有多个类文件,一个类只有被包括在一个项目中,才可以被VS编译 程序的入口点是program类中的Main{}方法...转载 2019-02-23 12:09:04 · 305 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(02—How Program Run)
程序是如何被计算机执行的?用0和1怎样表达信息?数值信息,直接使用二进制表达 非数值信息,采用“编码”的手段计算机能直接执行由0和1构成的机器指令(以0和1表达的指令)不同体系结构的计算机硬件,能执行的机器指令是不一样的,每种机器能执行的所有机器指令是不一样的计算机的大脑——CPU机器指令被传送给CPU执行指令与数据通常保存在文件中指令和数据——>.exe...转载 2019-02-28 23:51:58 · 291 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(03—CompileHelloWorld)
.cs文件经过csc.exe程序(C#的编译器)编译,生成.exe文件即可运行转载 2019-03-02 15:28:26 · 127 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(04—dotNetInternal)
“编译”是怎么回事纯文本形式的源代码(HelloWorld.cs)—提交—>C#编译器编译源代码—生成—>二进制形式的可执行程序文件(HelloWorld.exe)“编译(compile)”,负责把人编写的源代码“翻译”为计算机可以识别并执行的二进制代码。可执行程序也是分类的可执行程序文件也分多种类型,在Windows平台下,可分为:托管程序(例如,使用C#编写的可执...转载 2019-03-02 15:33:25 · 188 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(019—VariableType)
C#语言内置数据类型(int,long,float,double)经过编译 ——>CLR支持的数据类型(System.Int32,System.Int64,System.Single,System.Double)转载 2019-02-26 22:36:57 · 209 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(05—CalculateDate)
怎样构造求解问题的算法?什么是“算法(algorithm)”?未解决某个特定问题而设计的一种解决方案 算法的针对性很强,专用于解决特定的问题 算法的设计,通常与数学有着很密切的联系,并且是独立于特定的编程语言和软件平台让我们从一道算术题开始请同学们手工计算出1999年5月10日到2006年3月8日期间一共有多少天?2494天背景知识:一年365天,闰年366天;一年有十二月,...转载 2019-03-03 22:28:01 · 169 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(020—StringAndVariable)
static void Main(string[] args) { // StringOrstring(); UseVarKeyWord(); Console.ReadKey(); } static void StringOrstring() { ...转载 2019-03-09 22:15:28 · 121 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(021—SizeOfAndVariableAssign)
static void Main(string[] args) { PrintDataTypeLength(); Console.ReadKey(); } static void PrintDataTypeLength() { Console.WriteLi...转载 2019-03-10 10:34:26 · 151 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(022—TypeConvert)
static void StringAndNumberType() { string strValue = "100"; int intValue = int.Parse(strValue); double doubleValue = double.Parse(strValue); ...转载 2019-03-10 11:09:14 · 156 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(06—CalculateDateForSP)
从“结构化”到“面向对象”程序设计可以看成是一种“抽象”的艺术使用“抽象”的思维方式,构造软件系统的顶层模型程序是一个“黑盒”(入:两个日期,出:两个日期间的天数) 程序=数据结构+算法数据结构——对数据进行抽象先确定一种数据类型,然后基于此数据结构设计算法基于数据结构确定算法计算出两个日期之间的整年天数 计算出两个日期之间的整月天数每个算法步骤用一个函数来实现:Ca...转载 2019-03-04 20:49:42 · 296 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(27_switch)
多值选择结构C#提供了switch结构,用于对同一个变量的多个值进行判断static void Main(string[] args) { DoYouPass(); Console.ReadKey(); } static void DoYouPass() { ...转载 2019-03-14 21:16:53 · 138 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(023—OperatorAndExpression)
static void Main(string[] args) { UseOperator(); Console.ReadKey(); } static void UseOperator() { // + - * / () double ...转载 2019-03-10 21:21:50 · 207 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(07—CalculateDateForOO)
步骤:public class DateCalculator把所有函数封装在DateCalculator这个类中 2.DateCalculator obj = newDateCalculator();创建类DateCalculator的对象,让变量obj引用它 3.int days = obj.DateCalculateDaysOfTwoDate(d1,d2);调...转载 2019-03-07 21:35:24 · 186 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(31—foreach)
使用循环结构访问数据集合“数据集合”,顾名思义,就是数据的集合,在实际开发中,有两种类型的数据类型我们经常会遇到保存int、float等值类型数据的集合,如“List<int>” 保存string和自定义类等引用类型数据的集合,如List<MyClass>,又称为“对象集合”要遍历这两种数据集合,我们可以使用foreach循环数据集合的遍历所谓遍历,就是“...转载 2019-03-19 22:39:39 · 197 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(28—whiledo)
C#中循环语句的使用方法do/while循环结构int i =0;do{ // 循环体 Console.Write("{0}",i); i++};while (i<10); // 循环判断条件while/do循环结构int i = 0;while (i<10){ Console.Write("{0}",i); ...转载 2019-03-15 21:22:15 · 122 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(024—SimplstIfElse)
选择结构与逻辑表达式注意:“=>” 不是“等于大于”,它表示一个Lambda表达式。// 使用if/else语句实现程序中的选择结构static void CompareValue(int value){ if (value>10) { Console.WriteLine("{0}比10大", value); ...转载 2019-03-11 21:28:18 · 147 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(33—defineMethod)
从语句到语法背景在实际开发中,我们经常会发现某些功能在很多程序中都需要。当然,你可以直接地在不同程序中“Copy&Paste”代码,但这么干,麻烦很多:当你发现这些代码中有错误,需要一一更改 能不能把这些需要重复使用的代码“归作一堆”,给它起个名字,然后在需要调用他们时,只需指定一个名字即可?我们的解决方案把多个语句组合在一起,共同完成一个功能,向外界返回一个结果,再给...转载 2019-03-20 21:29:31 · 197 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(025—EmbedIfElse)
选择结构的嵌套static void IfAndElse(){ int value = 90; if (value>10) { Console.Writeline("{0}大于10",value); if (value%10==0) { Console.Writeline("{0}是整10的数",val...转载 2019-03-12 22:12:22 · 94 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(28—whiledo)
针对不同的场景,选择合适的处理方式当需要执行次数不定的循环时,使用do/while或while/do循环是最自然的选择。 当需要执行次数固定的循环时,使用for循环就变成了最自然的选择。for循环语句static void SumFrom1To100UseFor() { int sum = 0; for (int i = 1; i ...转载 2019-03-17 22:37:18 · 115 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(34—MethodOverload)
方法的重载在同一个类中,我们可以定义名字一样的方法,只要它们的参数列表不一样就行了,这种语法特性,叫做“方法的重载(method overload)”// 三个重载的Add()方法static int Add(int x,int y){ return x+y;}static double Add(double x,double y){ return x+y;...转载 2019-03-21 21:09:59 · 130 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(26_CombineLogicExpression)
逻辑表达式的组合三种用于组合逻辑表达式的运算符&&(And/与)、||(Or/或)、!(Not/非)逻辑表达式的组合解析结果A&&B:只有A和B都为True,结果才为True A||B:只要A和B中有一个为True,结果就为True !A:结果总是与A“相反”,比如A为true,则!A为false...转载 2019-03-13 20:40:43 · 133 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(29—BreakAndContinue)
循环的退出与提前中止static void BreakAndContinue() { for (int i=1;i<=10;i++) { if (i == 5) continue; Console.WriteLine("...转载 2019-03-18 23:23:24 · 153 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(35—ShowPicInForm)
/// <summary> /// Load pic from file. /// </summary> private void LoadPicture() { if (openFileDialog1.ShowDialog() == DialogResult.OK) ...转载 2019-03-25 21:22:36 · 149 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(42—Button)
两个重要属性(Name)btn开头+描述:用于引用这个按钮(eg:btnSayHello) Text:修改按钮上显示的文字 Image:修改按钮背景图片转载 2019-04-03 21:26:50 · 149 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(32—MoreOfConsoleApp)
扩充学习控制台应用程序编程小技巧当我们编写控制台应用程序时,经常需要知道用户是否按了某些特殊的键(比如F1键),于是问题出来了......(1)我怎么知道用户按的是那个键?(2)怎样编程来检测用户的按键?问题的解决方案:Console.ReadKey(),返回一个ConsoleKeyInfo结构......ConsoleKeyInfo三个属性:Key KeyCha...转载 2019-03-23 00:20:21 · 155 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(38—BigInteger)
static System.Numerics.BigInteger Factorial(int N) { System.Numerics.BigInteger result; if (N <= 1) return 1; else resul...转载 2019-03-31 10:22:34 · 173 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(39—AreYouEqual)
计算机的怪脾气......double i = 0.0001;double j =0.000100000000000001;Console.WriteLine(i==j); //输出:true揭秘!计算机不能精确地表达浮点数(特殊形式的除外),因此,当需要比较两个浮点数是否相等时,应该比较其差的绝对值是否在某个允许的范围之内即可,无法做到像数学那样的精确比较。if (M...转载 2019-03-31 10:45:24 · 124 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(40—GUIIntro)
使用VS编写GUI程序GUI=Graphic User Interface(图形用户界面接口)两种类型的桌面应用托管的桌面应用:C#编写的应用程序,运行于CLR中 非托管的桌面应用:通常使用C/C++开发,直接运行于Window操作系统之上...转载 2019-03-31 11:33:55 · 302 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(41—CreateFormApp)
修改程序图标Properties扩充知识:RAD(快速应用开发)模式使用VS编写桌面应用程序,具有“所见即所得”的特点,这种开发方式,被称为“RAD(Rapid Application Development)”。设计用户界面 编写事件响应代码 编译运行...转载 2019-03-31 22:33:31 · 121 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(36—IntroduceIterative)
递归与递推“埃舍尔” 《盗梦空间》 “分形”转载 2019-03-27 19:33:47 · 219 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(37—Factorial)
软件开发中的递归// 一个构成递归调用的函数static void DonotRunMe(){ DonotRunMe(); //递归就是自己调用自己}小知识:堆栈溢出(StackOverflow)程序代码其实是由“线程(Thread)”负责执行的。 OS在创建线程(Thread)时,会给每个线程配套一块内存区域,线程可以用这块区域存储一些数据。 这块内存区域被称为...转载 2019-03-27 20:20:48 · 162 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(43—Label)
Label重要属性AutoSize:指定控件是否自动调整自身的大小以适应其内容的大小 BackColor:组件的背景色(eg:Transparent为透明色) ImageAlign:将在控件上显示的图像的对齐方式编程要点:控件名字与事件放在窗体上的每个控件都是对应控件类的对象,其中,最关键的是它的名字(即Name属性)! 在代码中,通过指定控件的名字来设定它的属性值。 控件会触发...转载 2019-04-06 12:41:42 · 140 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(46—HowToStudy)
界面设计常用技巧学点哲学人类的认知过程:特定的事物—(认识)—>事物的特殊性—(归纳、总结和抽象)—>事物的普遍性人类的学习过程:我们的学习,从事物的普遍性切入—(知识应用,举一反三)—>目前我还未掌握的事物...转载 2019-04-10 18:55:56 · 190 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(47—GenralProperties)
四大重要属性enabled visble anchor dock转载 2019-04-10 20:23:08 · 144 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(44—Textbox)
Textbox控件通常起名为txt***// TextChanged事件触发private void txtUserInput_TextChanged(object sender, EventArgs e) { lblInfo.Text = txtUserInput.Text; }牢记特定的控件,在不同的场景,会触发不同的事件。...转载 2019-04-07 13:48:10 · 146 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(48—BasicContainer)
容器控件控件容器是一种特殊的控件,它可以容纳多个“子”控件。 我们已经非常熟悉的“窗体(Form)”,就可以看成是一个容器控件,只不过它是“顶层容器”。最简单的容器控件——面板(Panel)面板中可以放置其他控件,甚至再嵌套一个面板。 使用面板,可以把它看成是一个整体,统一地控制它们(比如激活或禁用它们)。组合框(GroupBox)组合框功能与面板类似,仅在外观上有所区别。 ...转载 2019-04-11 23:24:08 · 466 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(45—ProgressBarAndTimer)
ProgressBar关键属性value:进度条的当前值 Maxium:进度条正使用的范围的上限,默认值为100Timer关键属性Interval:timer的tick事件调用的间隔 Enabled:为True时调用tick事件,为False 时不调用// button的click事件,控制Timer的tick事件的开始与结束private void btnTimer_Clic...转载 2019-04-08 21:00:02 · 142 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(49—LayoutContainer)
使用容器控件布局窗体分隔条面板SplitContainer是带分隔条的面板,可以调整各面板大小 SplitContainer可以嵌套 Oriention:确定拆分器是水平还是竖直FlowLayout空间布局容器可以动态地添加与移除控件到FlowLayout中,由它负责排列控件。 使用FlowLayout称为“流式布局”,如果“自动换行(WrapContents)”特性打开,一行...转载 2019-04-12 19:38:16 · 157 阅读 · 0 评论 -
北京理工大学金旭亮老师C#(51—DefineClass)
学会编写类“类”放在哪儿?所有代码放在类中,类是编程的基本单元。 一个.cs文件——包容——>多个类类的定义方法C#使用class关键字定义一个类。类中常见的成员有:字段(field):即变量 方法(method):即函数C#中的字段与方法,可以加上“public、private、protected”关键字控制其存取权限。类的定义与使用实例类的定义public...转载 2019-04-16 22:55:53 · 192 阅读 · 0 评论