分享
 
 
 

学习ASP.NET需求的基本的c#知识

王朝学院·作者佚名  2009-12-05
窄屏简体版  字體: |||超大  

微软的实例教材中讲了三种语言:c#、vb 、Jscript,为了让大家过一把新东西隐,我们还是学c#吧。这个最好有一点c++基础。

不过没有也没有关系,大不了多费点力了。

任何一门语言都有两部分:

数据+语法+算法

数据是用来表示信息的,语法是来控制的。算法说白了就是人们总结的一些解决问题的思维方式。到于数据吧,多了自然有数据结构了,然后就出来了什么查询、插入、修改什么的。

1.存储数据当然要用到变量了,现在就来讲一下c#的申明方法!

通常方法是:

类型+变量名

int x //定义一个整形变量

string name,pwd; //定义两个字符性变量

object x; //定义一下对象

object obj=new object();//基于某一个对象创建一个实例

public string x;//给字符变量加一个类型修饰符,让所有用户均能访问

说明一下:

在申明变量时,对类型单词象int string object 都要用小写,因为c#是严格区分大小写的.用INT x;定义变量就错了。

我们还是来两个程序看看:

/* 学会变量的申明方法

create by vagrant */

using System;

class Test

{ static void Main()

{ int x=3;

Console.WriteLine("x={0}",x);

string name="vagrant";

string pwd="197926";

Console.WriteLine("your name is :{0};pwd is {1}",name,pwd);

object y;

y=x;//显式转换

Console.WriteLine("y={0}",y);

}

}

2.向浏览器发送字符:

上面讲到的是在C#中用System.Console.WriteLine输出变量的值,但在ASP.NET还是要用到Response对象的Response.Write("char")方法,不过此时不可省掉括号.

例:

<%@ language="C#" %>

<% string name;

name="vagrant";

Response.Write("you name is "+name);

%>

3.访问索引属性的值(以表单中元素为例)

学过asp的朋友都知用Requst.Form("对象名")提取表单对象的值.但是在asp.net应用Request.QueryString["name"]提取.

4.申明索引属性

在asp.net中我们要学会事件编程概念与索引指示器。通过索引指示器我们可以象数组那样访问类的数据信息的方法。还是我们先来构造一个简单的例子:

using System;

class Team

{

string[] s_name=new string[3]{"vagrant","jack","rose"};//定义类的一个域,然后写构造子函数,使得外类能通过索引访问

public string this[int nIndex]//访问索引申明

{

get {

return s_name[nIndex];//提供外类读的权力

}

set {

s_name[nIndex]=value;//提供外类写的权力

}

}

}

class Test

{

public static void Main(){

Team t1=new Team();//创建一个Team类的实例

for(int i=0;i<3;i++)

Console.WriteLine(t1[i]);//通过索引指示器访问实例的数据信息

}

}

5.定义并初始化数据

当我们在处理批量数据常用到数组,定义数组要考虑到三个问题:类型,数据名,维数

我还是以一维数据来说吧,毕竟常用的就是一维数据。

定义数组:

string studentname[]=new string[50];

初始化:

方法一.

studentname[0]="vagrant";

studentname[1]="jack";

........

方法二.

int[] sex=new int[2]{0,1};//0代表男,1代表女

这很好理解我就不解释了。

6.结构与枚举

我之所以把结构与枚举放在一起来讲是因为这两者有相似之处又有不同之处。

结构:一系列相关的信息组成单一实体。象通讯录通常包括:姓名、电话、地址等。

枚举:逻辑上密不可分的一系列数据。比方星期有一到七。但星期一到星期天逻辑上密不可分。

这两者是有不同的,结构是数据集合,而枚举每次只能取其中一个。结构与枚举都是数据结构类型中的一种。

定义结构数据类型:

struct PhoneBook {

public string name;

public string phone;

public string address;

}

定义一个该结构类型的变量

PhoneBook p1;

给结构变量各个成员赋值

p1.name="vagrant";

p1.phone="88888888";

p1.address="wuhan";

定义枚举数据类型,并赋值

//定义一个枚举类型

public enum MessageSize {

Small = 0,

Medium = 1,

Large = 2

}

// 创建一个枚举类型变量

public MessageSize msgsize;

// 给该变量赋值

msgsize = Small;

7.声明并使用方法

// 定义一个没有返回值的函数

void voidfunction() {

...

}

// 声明一个有返回值的子函数

String stringfunction() {

...

return (String) val;//(string)表明返回类型

}

//申明一个能计算的函数

String parmfunction(String a, String b) {

...

return (String) (a + b);

}

// 使用函数

voidfunction();

String s1 = stringfunction();

String s2 = parmfunction("Hello", "World!");

8.流程控制语句

在c#中流程控制语句与C++没有多大区别。只不过C#中加了一个foreach(vb程序员应该不会陌生).

流程控制大不了有选择、循环。

if条件语句的用法:

if(Requery.QueryString["name"]==null){

statement....

}

当有太多选择时,常用switch语句

例 :

switch (Name) {

case "John" :

...

break;

case "Paul" :

...

break;

case "Ringo" :

...

break;

default:

...

break;

}

循环语句通常有两种:

a.for循环

for (int i=0; i<3; i++){

statement...

}

b.while循环

int i = 0;

while (i<3) {

Console.WriteLine(i.ToString());//i.ToString()目的是i转化为字符串型

i += 1;

}

9.异常处理

在编写程序时,我们常会出现一些事先不可预期的事情。比方用户的错误输入、内存不够、网络资源不可用、数据库无法使用等情况。所以我们应该用异常处理方法来处理这类问题。C#里所有的异常都为类的一个实例,这个类继承于System.Exception类

先来介绍一下抛出异常语句thow

throw expression

这个语句是在计算表达式的值时产生的一个异常

异常处理语句:

try是用来捕捉块执行过程中发生的异常

cathc是用来处理该异常的。

通用方法:

try {

//可能抛出异常的代码

} catch(OverflowException e) {

// 捕捉一个详细的异常

} catch(Exception e) {

// 捕捉一个通常的异常

} finally {

// 执行一个没有异常的代码

}

看一个贝贝写的处理数据库联接出错的异常:

try

{

OleDbConnection conn = getConn(); //getConn():得到连接对象

OleDbDataAdapter adapter = new OleDbDataAdapter();

string sqlstr="select id,title,author,pic,hits,posttime from notes order by posttime desc";

mydataset= new System.Data.DataSet();

adapter.SelectCommand = new OleDbCommand(sqlstr, conn);

adapter.Fill(mydataset,"notes");

conn.Close();

}

catch(Exception e)

{

throw(new Exception("数据库出错:" + e.Message))

}

10.字符串处理

在c#中string为引用类型,所以可以用联接,截断

看了下面这个实例就知道了!

// 使用字符串

String s1;

String s2 = "hello";

s2 += " world";

s1 = s2 + " !!!";

// 使用StringBuilder类的Append方法

StringBuilder s3 = new StringBuilder();

s3.Append("hello");

s3.Append(" world");

s3.Append(" !!!");

11.事件处理

事件是类向外界发送通知的成员。

先还是看一个事件处理代表例子:

void MyButton_Click(Object sender,

EventArgs E) {

...

}

这个我也不大懂,听说看了MFC会比较清楚,如果哪位有这方面的经验,还望多多指教。

12。声明一个事件

// 创建一个public事件

public event EventHandler MyEvent;

// 为该事件定义一个方法

protected void OnMyEvent(EventArgs e) {

MyEvent(this, e);

}

13.给事业加OR去处理该事件的方法

Control.Change += new EventHandler(this.ChangeEventHandler);

Control.Change -= new EventHandler(this.ChangeEventHandler);

14.类型转换

int i = 3;//定义一个整形变量并赋值

String s = i.ToString();//整形转化为字符串型,用ToString()

double d = Double.Parse(s);//字符串型转化为双精度型用Double.Parse(var);

还有一些,我就不解释了,等我们有了一定的基础再深究吧。反正了解了这一些对后面的常用问题处理还是没有问题的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有