一、.Net Framework的体系结构
.Net平台的两个组成部分:.Net Framework 和 visual studio 集成开发环境
1、.Net Framework的两个主要构成部分
>>公共语言运行库(common language runtime - CLR)
>>.Net框架类库(.Net Framework class library - FCL)
2、公共语言运行库(CLR)包含的组件
>>通用语言规范(CLS):是所有针对.Net的编译器都必须支持的一组最低标准,以确保语
言的互操作性。
>>公共类型系统(CTS):定义声明、定义和管理所有类型所遵循的规则,而无需考虑源语
言。
3、.Net Framework 类库
>>asp.net:专注于构建浏览器应用程序;
>>windows Forms:用于以任何基于CLR的编程语言构建windows图形用户界面(GUI);
>>asp.net web services:用于创建利用web services与其他应用程序进行通讯的应用
程序;
>>企业服务(Enterprice services):提供分布式事务、对象实例控制、以及其他用以
构建可靠的、可伸缩的应用程序服务;
>>ado.net:集中于访问存储在关系型数据通信管理系统(DBMS)中的数据;
二、C#控制台程序
1、使用visual studio 2008 集成开发环境编写第一个C#控制台程序:
using System;
class HelloWorld{
static void Main(string[] args){
//方法体
Console.WriteLine("HelloWorld");
}
}
package test;
public class ReplyTest {
public static void main(String[] args)
{
System.out.println("Helloword");
}
}
2、程序执行过程
Java: 源程序(.java) -->(经编译)--> 类文件(字节码文件)(.class)
C#:源程序 -->(.cs) --> (经编译) --> 可执行文件(.exe)
3、注释
>>单行注释: // (与java中的单行注释相同)
>>多行注释: /* */ (与java中的多行注释相同)
>>文档注释: /// (而java中的文档注释为:/** */)
4、变量
>>变量概念: 在程序运行期间可以改变的量。
>>声明变量语法: 访问修饰符 数据类型 变量名称(public string myName)
>>变量命名规则:
(1)首字母:只能是字母或下划线(但不能有$符号)
(2)后续组成:可以是52个英文字母(A-Z、a-z)10个数字、下划线,除
此之外不能含有其他字符。
(3)不能使用C#中的关键字(保留字)
说明:
(1)在命名变量时名称要有意义,尽量使用英文命名;
(2)避免使用单个字符作为变量名;
(3)当使用多个单词组成变量名时,应该使用骆驼命名方法(camel),
即第一个单词全小写,后续每个单词首字母大写
(myName,myAge,myAddress);
(4)使用时做到:声明 --> 赋值 --> 使用
>>变量的作用域:
全局变量(成员变量):声明在类中
局部变量:声明在方法中
>>类型转换
自动类型转换(条件):
强制类型转换:
5、从控制台进行输入、输出
>>Console类
>>Console.ReadLine()方法
>>Console.WriteLine()方法(对比java中的System.out.println())
(1)Console.WriteLine();
(2)Console.WriteLine(要输出的值);
(3)Console.WriteLine("格式化字符串",变量列表); //重点掌握
6、命名空间(对比java中的包)
>>定义命名空间(java中创建包):
>>使用命名空间(java导入包):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class intorducte
{
static void Main(string[] args)
{
//动态提醒输入
Console.Write("请输入姓名:");
//动态接收值
string myname = Console.ReadLine();
Console.Write("请输入地址:");
string myadd = Console.ReadLine();
Console.Write("请输入年龄:");
string myage = Console.ReadLine();
Console.Write("请输入联系方式:");
string mytel = Console.ReadLine();
Console.WriteLine("姓名:{0} 地址:{1} 年龄 {2} 联系方式:{3}", myname, myadd, myage, mytel);
Console.ReadLine();
}
}
}
C#基础知识
一、数据类型
1、 枚举:
---->>如何定义枚举:
Enum enumName{
Boy,
grily
}
2、 结构体
Public struct structName{
访问标识符 数据类型 结构属性;
}
structName stu;
structName stu = new structName();
//结构数组
structName[] stu = new structName[];
3、 数组
》》数组类型[] 数组名 = new 数组类型[size] //数组声明时必须要给定长度
1、C#数据类型分类
>>值类型(基本类型): 简单类型、结构类型、枚举类型
>>引用类型
2、类型转换
>>自动类型转换:
>>强制类型转换(显式类型转换):
3、变量作用域
>>全局变量(成员变量)
>>局部变量
4、字符串类型
>>C#中字符串比较(== 、Equals())
5、拆箱与装箱
>>装箱: 值类型 --> object类型
>>拆箱: object类型 --> 值类型
二、运算符
1、算术运算符:(+ - * / %)
>>举例:从控制台接收一数,对接收的数进行反转输出(使用算术运算符)
(如: 12345 --> 54321)
2、比较运算符:(> < >= <= !=)
3、复合赋值运算符:(+= -= /= %=)
4、逻辑运算符:(&& || !)
5、一元运算符(++ --)
6、三元运算符:(? : )
三、常量
1、常量概念: 在程序期间不能改变的量。
2、C#如何声明常量
访问修饰符 const 数据类型 常量名 = ;
3、常量使用及注意事项
四、条件与循环结构
1、条件结构:
>> 简单if结构
>> if ... else ...
>> 多重if ... else ...
>> 嵌套if
>> switch(与java进行对比)
java:
java中允许case中没有break语句。
条件表达式的值必须是整形或字符型
C#:
C#中每个case和default都要有break,除非两个case中没有包含其它的语句,
那么前一个case
可以不包含break;
条件表达式的值可以是整形或字符型或字符串
2、循环结构
>> while循环
>> do ... while .. 循环
>> for循环
>> foreach循环 (与for循环对比)
3、break与continue
break退出当层结构,而contiue则退出当层循环,继续下一次循环
五、数组(对比java)
1、数组概念:是一个包含一组相同类型数据的线性数据结构,其中的各个元素通过下标操作符来访问。
2、声明数组:int[] array = new int[5];
数据类型[] 数组名称 = new 数据类型[size];
3、为数组赋值: