C# 笔记1

变量

枚举: 一个变量类型,内含几个子变量,默认是INT类型的。
    enum typename
    {
     value1,
     value2,
     ....
     valueN
    }

    enum typename:underlyingtype //定义下面变量的类型。变量也可赋值,如不赋值,默认value1为0,下面的递增1。
    {
     value1,
     value2,
     ....
     valueN
    }

例:enum orientation:byte
    {
     north=1,
     south=2,
     east=3,
     west=4
    }
 
    static void Main(string[] args)
     {
      orientation mydirection=orientation.north;
      console.writeline("mydirection={0}",mydirection);
      console.readkey();
     }

变量的类型转换:
1、隐式转换:
   var1=var2;

2、显式转换:
   val1=(int)val2

   int intval1=Convert.Toint32(val2)
  
   Convert.Toint32(val)转换为INT
   Convert.Toint64(val)转换为long

split()的例子

static void Main(string[] args)
{
  string mystring="this is a test";
  char[] separator={' '};//指定分开的分隔符
  string[] mywords;//定义一个字符串数组
  mywords=mystring.split(separator);将字符串分开,保留在数组里
  foreach (string word in mywords)
   {
    console.writeline("{0}", word);
   }
  console.readkey();
}

类:
public static string aaa;//静态成员变量
public static void aaa();//静态成员函数
{

}

public string aaa;//实体成员变量
public void aaa;//实体成员函数
{

}

在使用上,静态成员变量可以不声明对像直接使用,相反,实体成员就必须先声明对象实体,才能使用。

public:任何外部的类都可以不受限制的存取类数据。
private:限定此类内部使用。
protected:除了类本身可以用外,任何继承此类的类都可以使用。
internal:表示在同一个应用程序(Application)或类库(Library)中都可以使用。

类的事件:
几个英语词:
Event 事件
Event Sender 事件发生者
Event Reciiver 事件接收者
Event Delegate 事件委托

例子:
public partial class lei_jichu:System.Web.UI.Page
{
  public class book
{
  string title;//标题
  int num;//书的库存
  double price;//价格
 
  public delegate void TitleChengHendler();//事先声明一个委托,也可以在类的外部声明委托类型
  public event TitleChengHendler TitleCheng;//声明一个事件并指定他的委托类型
   //下面定义两个函数

   public Book()
     {
    
     }
   public Book(string ntitle, int nnum, double nprice)
    {
       title=ntitle;
       num=nnum;
       price=nprice;
    }
     //下面我们定义了三个可读可写的属性
    public string Title
      {
        get
         {return title;}
        set
         {
          title=value;
          TitleCheng();//也就是说,如果通过这里修改了这个标题,就会触发这个事件。
      }
}

   public int Num
    {
      get
        {return num;}
      set
        {num=value;}
    }
   
    public double Price
    {
      get
        {return price;}
      set
        {price=value;}
    }
    
    //继续添加方法

    public string BookInfo()
    {
     sring Html="书名是:" + title + "<br>库存:" + num + "本<br>价格为:" + price + "元/本";
     return Html;
    }
}

   //下面调用类:
 
   protected void Page_Load(object sender,EventArgs e)
     {
       Book shu=new Book();
       shu.TitleCheng+=new Book.TitleChengHendler(shu_TitleCheng);

       shu.Title="三国";
       shu.Num=5000;
       shu.Price=43.6;

       Response.Write(Shu.BookInfo());
     }

       void shu_TitleCheng()
       {
        Response.Write("事件执行了<br>");
       }
      }

对象:

1/ request
   提交表单有两种,get和post
   get(地址栏带参数显示):
   request.querystring["变量名"];
 
   post:
   request.form["变量名"];

   不指定方式的:
   request.params["变量名"]; 或request["变量名"];
 
   获取服务器信息:
   response.write("当前网页虚拟路径是:" + request.servervariables["url"]);
   response.write("<br>当前网页虚拟路径是:" + request.rawurl);
   response.write("<br>实际路径:" + request.servervariables["path_translated"]);
response.write("<br>实际路径:" + request.physicalpath);
response.write("<br>服务器名:" + request.servervariables["server_name"]);
response.write("<br>服务器IP:" + request.userhostaddress);
  
   获取浏览器环境:
   response.write("<br>这个浏览器是否支持背景音乐:" + request.browser.backgroundsounds]);
   response.write("<br>这个浏览器是否支持框架:" + request.browser.frames);
   response.write("客户端系统:" + request.browser.platform);

2/ cookie
   Cookie是保存在客户端或浏览器中的对象
  写入Cookie
  httpcookie nc=new httpcookie("newcookie");
  nc.values["name"]="Tom";
  nc.values["dt"]=DateTime.New.Tostring();
  response.cookies.add(nc);

  读取Cookie
  httpcookie getcook=request.cookies["newcookie"]
  response.write(getcook.values["dt"]);

3/response
  ContentType属性主要用来描述内容类型,此字符串的格式为type/subtype,前者表示内容分类,后者表示特定的内容类型,可以设置或者获取数据类型,默认值为text/html
如:response.contenttype="image/gif",表示输出gif格式的图像.

  response.Expires=5; 获取或设置页面过期时间,单位为分钟.这个例子表示从打开页面的5分钟内,你访问的都是缓存中的数据,而5分钟后就会重新去服务器下载.

  response.Buffer=false; 设置或获取当前页是否缓存输出,值为bool型,默认为True

  response.Flush(); 立即将缓存输出去

  response.End();将当前缓冲区内容立即输出,并停止当前页的执行.

  response.redirect("url地址"); 将客户端重新定向到新的URL

4/server
  将虚拟路径转换到实际路径
  string a=Server.MapPath("~/app_data/a.xml").ToString //将路径指到实际根目录下.


5/Application
  是一上共享的对象,当程序开始运行建立直到程序关闭,他的变量是共享的.要使用这个对象需要在系统中建立一个global.asa文件. Application对象在程序中只能有一个.
   例:页面统计
   在Global.asa文件中:
    void Application_Start(object sender,EventArgs e)
    {
d    //应用程序启动时运行的代码
     Application["a"]=0;
    }

    页面装截文件下:
    protectde void Page_Load(object sender,EventArgs e)
      {
       Application.Lock();
       Application["a"]=Application["a"]+1;
       Application.unlock();
       Response.Write(Application["a"]);
      }

/session对象
 每个人进到程序时都会建立一个Session对象,也就是说Application对象只有一个,而Session对象有多少人用就有多少个Session,他是不能共享的.Session一般是用来保存用户的信息的.
  在Global.asa中:
   Void Session_start(object sender,EventArgs e)
    {
     //在启动会话时运行的代码
    Session["name"]="小宇"
    }

    页面装截文件下:
    protectde void Page_Load(object sender,EventArgs e)
      {
       Application.Lock();
       Application["a"]=Application["a"]+1;
       Application.unlock();
       Response.Write(Application["a"]);

       Response.write(session["name"]);
      }


/ page对象

  protected void page_init(object sender,EventArgs e)
   {
    //当页面初始化时,例如可以在加载控件之前检测客户端环境变量.他与Load工作方式差不多,但是在Load之前运行,而且,当网页重新加载的时候不会再触发这个事件.
   }
  protected void page_Load(object sender,EventArgs e)
    {
     //每次刷新页面,.net都会为他绘制一个全新的页面,并将他按新页面来处理,所以每次从新加载都要触发这个事件.
    if(!IsPostBack)
      {
       DropDownList1.Items.Add("aaaaa")
       DropDownList1.Items.Add("bbbbb")
       }
    }
      
控件:

1/DropDownList控件

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;//因为要使用ArrayList

//DropDownList初始化选择的值内容
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
          
            ArrayList arr1 = new ArrayList();//注意大小写
            arr1.Add ("请选择");
            arr1.Add ("刘志东");
            arr1.Add ("小宇");

            DropDownList1.DataSource =arr1;
            DropDownList1.DataBind();         
        }
    }

//根据DropDownList选择的值,Label显示不同的提示.
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        switch (DropDownList1.SelectedValue)
        {
            case "请选择":
                Label1.Text = "就是请选择";
                break;
            case "刘东":
                Label1.Text = "就是刘东";
                break;
            case "小宇":
                Label1.Text = "就是刘东的儿子";
                break;
            default:
                Label1.Text = "在前面选择个";
                break;
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值