0

0

C#高级编程(二)-核心C#的详解

黄舟

黄舟

发布时间:2017-03-20 11:22:23

|

1338人浏览过

|

来源于php中文网

原创

变量的初始化和作用域

  初始化

    c#有两个方法可以一确保变量在使用前进行了初始化:

    • 变量是字段,如果没有显式初始化,创建这些变量时,其默认值为0。

    • 方法的局部变量必须在代码中显式初始化,之后才能在语句中使用,如果在初始化之前使用了他的值,报错。

  作用域

    如果局部变量作用域冲突,报CS0136错。

    字段与局部变量冲突,隐藏掉字段,访问被隐藏的实例字段用this关键字,静态字段使用object.fieldname。

  常量

    常量的特点:

    • 常量必须在声明时初始化,指定其值后将不允许变更。

    • 常量的值必须在编译时用于计算,不能从变量中提取值。

    • 常量总是静态的,不允许使用static关键字进行修饰。

  常量的优点:

    • 易于阅读

    • 易于修改

    • 易于避免出错

预定义数据类型

  值类型与引用类型

  概念与存储方法的区别,参考第一章。

企业黄页-大众投资指南整站 asp.net 2.0
企业黄页-大众投资指南整站 asp.net 2.0

大众投资指南是基于Asp.Net(2.0)+C#+Access(sql2000)的企业黄页类程序,是基于web2.0 模式的网站。 贴吧和黄页都有采集功能 主程序包括分类信息和商家黄页两大模块。分类信息支持二级分类,商家黄页支持二级地区分类及二级行业分类。程序采用了伪静态(url重写)技术,可选生成纯静态首页。 一、分类信息仿百度贴吧编写,可以分别对游客及会员设置不同的审核条件。会员发布信息

下载

  引用类型

    要创建对象必须使用new关键字,将一个引用类型赋值给另一个引用类型得到的只是它的地址,会随着它的更改而更改。如:

         Test x,y;

      x testX = new Test();

      y testY = x;

      testX.value =1;    //这条语句执行后testX与testY的value属性的值都会为

  CTS类型

  C#认可的基本预定义类型并没有内置在C#中,而是内置于.NET Framework中。

  decimal不是.NET Formework中内置类型,会造成性能损失。

  bool类型不能用0来表示false,非0表示true。

  所有内置类型都继承Object类型。

  string 的不可变性:如上述代码中的testX和testY如果他们是string类型,当testX所指向的string改变时,会重新在托管堆中创建出一个新的string并指向它,testY所指向的值也就不会被更改。

流控制

  条件语句

    if ,else if,else。

  switch语句

case语句的值必须要是常量表达式,不允许使用变量。

与C++的区别:激活了前一个case不会自动激活后一个case,且每一个case必须用break否则报错;可以把字符串作为测试变量。

可以使用goto "标签"经行跳转。

case为空则不需要break。

循环

for 与 while的区别:for适合可预测次数的循环,while适合不可预测次数的循环。

foreach

要实现foreach的遍历,类中就必须实现IEnumerable接口。

foreach中不能改变每一项的值。

跳转语句

goto

break

跳出当前循环

continue

跳过此次循环

return

退出当前方法

枚举

一旦代码编辑好,枚举就成为基本类型。

名称空间(命名空间)

与文件或组件不同,名称空间是一种逻辑组合,而不是物理组合。

一般名称空间可接受的格式为CompanyName.ProjectName.StstemSection。

名称空间别名的语法:

using slias = NamespaceName;

命名空间修饰符为 “::” 。

 1 //using System; 
 2 using TestSystem = System; 
 3  
 4 namespace 命名空间别名 
 5 { 
 6     class Program 
 7     { 
 8         static void Main(string[] args) 
 9         {
 10             TestSystem::Console.WriteLine("This is a C# Progam");
 11             TestSystem.Console.ReadKey();
 12         }
 13     }
 14 }

命名空间别名演示

预编译

#if #elif 支持一组逻辑运算符“!”、“==”、“!+”、“||”。

C#编程规则

标识符规则

    • 可以包含数字字符,但是它们他们必须以字母或下划线开头。

    • 不能使用C#关键字作标识符。

用户约定

规则应该是一个正确的决策,而不是一种束缚。

    1. 命名约定

Pascal:名称空间、类、函数名。

Camel:类中的字段(最好加“_”为前缀能更直观的知道这是个字段)、方法的参数。

    1. 名称风格

名称/命名的风格应当尽量保持一致。

    1. 命名空间的名称

命名空间是.NET区别共享程序集中对象名的唯一方法。

Microsoft建议使用如下名称空间:.

    1. 名称和关键字

属性和方法的使用

如果该对象的外观像一个对象,就用属性来表示它,即:

    • 客户端医改能读取它的值,最好不要使用只写属性。

    • 读取该值不应该花他长时间。

    • 不应有负面效应。

    • 可以按任意顺序设置属性。

    • 顺序读取属性也应该有相同的效果。

字段的用法

字段总应该是私有的。

2016-05-07 22:29:18

相关专题

更多
c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

97

2026.01.09

c++框架学习教程汇总
c++框架学习教程汇总

本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

50

2026.01.09

学python好用的网站推荐
学python好用的网站推荐

本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

139

2026.01.09

学python网站汇总
学python网站汇总

本专题整合了学python网站汇总,阅读专题下面的文章了解更多详细内容。

12

2026.01.09

python学习网站
python学习网站

本专题整合了python学习相关推荐汇总,阅读专题下面的文章了解更多详细内容。

19

2026.01.09

俄罗斯手机浏览器地址汇总
俄罗斯手机浏览器地址汇总

汇总俄罗斯Yandex手机浏览器官方网址入口,涵盖国际版与俄语版,适配移动端访问,一键直达搜索、地图、新闻等核心服务。

81

2026.01.09

漫蛙稳定版地址大全
漫蛙稳定版地址大全

漫蛙稳定版地址大全汇总最新可用入口,包含漫蛙manwa漫画防走失官网链接,确保用户随时畅读海量正版漫画资源,建议收藏备用,避免因域名变动无法访问。

431

2026.01.09

php学习网站大全
php学习网站大全

精选多个优质PHP入门学习网站,涵盖教程、实战与文档,适合零基础到进阶开发者,助你高效掌握PHP编程。

49

2026.01.09

php网站搭建教程大全
php网站搭建教程大全

本合集专为零基础用户打造,涵盖PHP网站搭建全流程,从环境配置到实战开发,免费、易懂、系统化,助你快速入门建站!

13

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C# 教程
C# 教程

共94课时 | 6.5万人学习

C 教程
C 教程

共75课时 | 4万人学习

C++教程
C++教程

共115课时 | 11.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号