zoukankan      html  css  js  c++  java
  • ASP.NET学习笔记1


    2016.3.29
     
     
    1、当允许一开始不设定初始值也不用赋值这种情况时,可在数据类型后面加?       int?age=null;
     
    2、ref关键字使参数按引用传递。其效果是当控制权传递回调用方法时,在方法中对参数所做的更改都将反映在该变量中。若使用ref参数,则方法定义和调用方法都必须显式使用ref关键字。属性不是变量,因此不能用为ref参数传递。
     
    3、装箱 拆箱
    装箱:将一个值类型转换为一个引用类型
    拆箱:将一个引用类型转换为一个值类型
     
    4、ArrayList对象
    包含单一数据值的项目的集合
     
    5、alert弹出对话框的5中方式
    1.ClientScript.RegisterStartupScript(this.GetType(),"message","<script>alert('第一种方式,无白屏!');</script>");
    2.HttpContext.Current.Response.Write("<script>alert('第二种方式,有白屏!')</script>");
    3.public static void Show(System.Web.UI.Page page, string msg)
        {
            page.ClientScript.RegisterStartupScript(page.GetType(), "message", "<script language='javascript' defer>alert('" +  msg.ToString() + "');</script>");
        }
      Show(this, "第三种方式,无白屏!");
    4.Response.Write("<script>alert('第四种方式,有白屏!')</script>");
     
    5.window.showModalDialog('XXX.aspx', '', 'dialogWidth:429px;dialogHeight:200px;location:no,menubar:no,toolbar:no,status:no');
     
    6、table居中显示
    <table style="margin:0px auto;"></table>
     
    7、textbox.Text.Trim()
    Trim方法去掉收尾的空格
     
    8、const
    限定一个常量不允许被改变  类似ReadOnly
     

    2016.3.30
     
    1、相对路径与aspx文件在同级目录下
     
    2、Console.WriteLine在控制台输出,Response.Write在网页中输出
     
    3、Page.Controls.Count 获得页面上的控件数
     
    4、System.Array类
    System.Array.Copy();//复制
    System.Array.IndexOf(s,"c");查找
     
    5、数组
    声明一维数组:  int[] age = new int();
    声明二维数组:  char[,] name = new char[4.5];
    声明三维数组:  string[,,] strs = new string[,,]
                {
                    { { "李白", "《静夜思》", "<br><br>" } },
                    { { "床前明日光,", "<br>", "疑是地上霜。<br>" } },
                    { { "举头望明月,", "<br>", "低头思故乡。" } }
                };
     
    6、字符串可以相加
    str += Convert.ToString(strs[i, j]) + "<br>";
    Response.Write(str);

    2013.4.5
    1、清空文本框
    for (int i = 0; i < Page.Controls.Count; i++)
                {
                    foreach (Control c in Page.Controls[i].Controls)
                    {
                        if (c is TextBox)
                        {
                            TextBox tb = (TextBox)c;
                            tb.Text = "" ;
                        }
                    }
                }
     
    2、自定义方法如果类型不同则可以名称相同
    publicstatic String Convert( String chinese){}
    publicstatic char Convert( Char chinese){}
     
    3、用object声明数组 数组中的元素可以是各种类型
    objext[] myArray ={"顾晓黎",25,true};
     
    4、声明交错数组
                int[][] intArray = new int[3][];
                intArray[0] = new int[2];
                intArray[1] = new int[3];
                intArray[2] = new int[4];
    每一个元素值都是一个数组,交错数组需要初始化后才能使用
     
    5、反转数组 Array.Recerse();
    6、移位运算
    i=2<<33  33的二进制值为00100001 左移位数由第二个操作数33(00100001)的低5位给出(00001) 所以左移一位。    如果第一个操作数为int或uint,则移位数由第二个操作数的低五位给出;如果第一个操作数为long或ulong,则移位数由第二个操作数的低六位给出。
     
    7、double.Parse(System.Console.ReadLine())
    将数字的字符串的表示形式转换为它的等效双精度浮点数
    TryParse()方法将返回一个布尔值,如果转换成功,返回true,否则返回false
     
    8、string.CompareTo(string)
     string str1 = this.TxtStr1.Text;
    string str2 = this.TxtStr2.Text;
    int i = str1.CompareTo(str2);
    i<0 str1<str2 i=0 str1=str2 i>0 str1>str2
     
    9、javascript读取缓存 返回上一页
    javascript:history.go(-1)
    javascript:history.backs()
     
    10、
    asp.net 类,构造函数,方法,字段,属性 学习示例
    public partial class test01 : System.Web.UI.Page
    {
        class Farmer
        {
            private string name;    //字段,一般为private,用于内部的数据传送

            public Farmer()   //无参数构造函数
            {
                name = "无参数构造函数!";
            }

            public Farmer(string FName)  //有参数构造函数
            {
                name = FName;
            }

            public string Name   //属性,前面加了public才能被外部访问
            {
                get
                {
                    return name;
                }
                set
                {
                    name = value;
                }
            }

            public string NameAdd()   //方法
            {
                name = name + ",李四";
                return name;
            }

            public static string NameAddStatic() //静态方法,调用静态方法不需要实例化
            {
                Farmer myFarmer = new Farmer();
                return myFarmer.Name+",这是静态方法!";
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            Farmer farmer1 = new Farmer();
            Label1.Text = farmer1.Name;

            Farmer farmer2 = new Farmer("张三");
            Label2.Text = farmer2.Name;

            Farmer farmer3 = new Farmer("张三");
            Label3.Text = farmer3.NameAdd();

            Farmer farmer4 = new Farmer();
            farmer4.Name = "你好";
            Label4.Text=farmer4.NameAdd();

            Label5.Text = Farmer.NameAddStatic(); //调用静态方法不需要实例化
        }
    }
     
    11、IndexOf()定位字符及子串
    string.IndexOf(str); 从前端开始
    stirng.LastIndexOf(str); 从后端开始
    未找到则返回-1
     
    12、Format方法  将任何数值、枚举以及日期和时间等基本数据类型格式化为字符串
    string str1 = String.Format("{0:d} ", DateTime.Now);
    string str2 = String.Format("{0:C} ", 89.0f);
     
    13、Join方法连接字符串 Join(string separator ,string[] value)
    separator:用来指定字符串的分隔符
    value: 用来指定连接的多个字符串数组
    String Str1 = "明日";
    String Str2 = "科技";
    String S = this.TxtS.Text;
    String[] strArrary = { Str1, Str2 };
    newString = String.Join(S, strArrary);
    this.TxtXmm.Text = newString.ToString();
     
    14、Split()分离字符串
    返回包含此实例中的子字符串的string数组,参数指定返回的子字符串的最大数量
    public string[] Split(char[] separator,int count)
    tb.Text.Split(s.ToCharArray(),4);
     
    15、Insert()  PadLeft/PadRight()插入字符
    String类:
    string.Insert(int startIndex,string value);
    startIndex:插入的索引位置
    value:要插入的字符
    string.PadLeft(5,'@');
    string.PadRight(5,'@');
    5:结束字符串的字符数
    @:填充的字符
    StringBuilder类:
    String OldStr = this.LblOldStr.Text;
    StringBuilder NewStr= new StringBuilder(OldStr);
    String InsertStr = this.LblInsertStr.Text;
    NewStr.Insert(2, InsertStr);
    this.LblNewStr.Text = NewStr.ToString();
     
    16、Remove()方法 在一个字符串的指定位置删除指定的字符
    String类:
    string.Remove(int startIndex,int count);
    startIndex:开始删除字符的位置
    count:要删除的字符数
    TrimStart方法和TrimEnd方法的使用
    string str2 = str.TrimStart(new char[] { '@', '*' });
    string str3 = str.TrimEnd(new char[] { '@', '*' });
    StringBuilder类:
    StringBuilder StrNew= new StringBuilder("1234567");
    Int32 StrS1 = Convert.ToInt32(this.LblS1.Text);
    Int32 StrS2 = Convert.ToInt32(this.LblS2.Text);
    StrNew.Remove(StrS1, StrS2);
    this.LblNewStr.Text = StrNew.ToString();
     
    17、使用Replace方法替换字符串
    String类:
    string str = str1.Replace(str1, str2);
    str1:被替换的字符串
    str2:要替换的字符串
    StringBuilder类:
    String StrOld = this.LblOldStr.Text;
    StringBuilder StrNew = new StringBuilder(StrOld);
    String str2 = this.TextBox1.Text;
    StrNew = StrNew.Replace(StrOld, str2);
    this.LblStrNew.Text = StrNew.ToString();
     
    2016.4.6
     
    1、使用Append追加字符串
    String StrOldStr = this.LblOldStr.Text;
    StringBuilder sb4 = new StringBuilder(StrOldStr);//表示可变字符字符串,此类不能被继承
    String StrAppendStr = this.TxtAppendStr.Text;
    String s = sb4.Append(StrAppendStr).ToString();
    this.LblNewStr.Text = s;
     
    2、DateTime类
    系统当前时间:DateTime.Now.ToString();
    DateTime.Now.ToShortDateString();
    DateTime.Now.ToLongDateString();
    获取当前日期是星期几:DateTime.Today.DayOfWeek.ToString();//返回英文单词
    获取当前年 月数:
    year = DateTime.Now.Year;
     month = DateTime.Now.Month;
    判断是否为闰年:DateTime.IsLeapYear(year);
    将日期和时间的字符串表示形式转换为DateTime:DateTime.Parse();
    增加时间:DateTime.Now.AddSeconds(30).ToString();
     
    3、TimeSpan获取日期时间的间隔数
    DateTime对象相减,会返回TimeSpan对象,调用TimeSpan对象的Days属性可以得到相隔的天数
    TimeSpan timeSpan = dateTime1 - dateTime2;
     
    4、值类型允许为null
    int? x = null;  等价于System.Nullable<int> x;
    int? y = x??5; //x为null时 y赋值为5 否则为x
    判断是够有值 x.HasValue
     
    5、path类分析路径字符串的常用方法
    GetDirectoryName()返回指定路径字符串的目录信息
    GetExtension()    返回指定路径字符串的扩展名
    GetFullPath()     返回指定路径字符串的绝对路径
    GetPathRoot()     获取指定路径的跟目录信息
    HasExtension()    确定路径是否包括文件扩展名
    IsPathRooted()    获取一个值,该值指示指定的路径字符串是包含绝对路径信息(true)还是包含相对路径信息(false)
     
    6、 判断字符是否英文半角字符或标点
        /// 32    空格 
        /// 33-47    标点
        /// 48-57    0~9
        /// 58-64    标点
        /// 65-90    A~Z
        /// 91-96    标点
        /// 97-122    a~z
        /// 123-126  标点
    全角字符 - 65248 = 半角字符 全角空格例外
    string.Empty表示空字符串
    s.Length == 0 优于 s == string.Empty 优于 s == null
    
    7、StringReader类  
    StringReader sr = new StringReader(str1);
    sr.Read(c, 0, 19);
    StringWriter类
    StringWriter sw = new StringWriter(sb);
    sw.Write(s, 0, 11);
     
    8、Lambda表达式    (参数列表)=>{语句块}或(表达式)
    myAddOne = x => x + 1;//隐式类型,表达式方法体
    myAddOne = x => { return x + 1; };//隐式类型,语句方法体
    myAddOne = (int x) => x + 1;//显式类型,表达式方法体
    myAddOne = (int x) => { return x + 1; };//显式类型,语句方法体
    ToAdd myToAdd = (x, y) => x + y;//多个参数
    Method1 myMethod1 = () => Response.Write("myToAdd");//无参数,表达式方法体
    Method2 myMethod2 = () => 1;//无参数,语句方法体
     
    9、Math类
    取余: Math.DivRem(被除数,除数,out 余数); 32位有符号整数
     
    10、利用Encoding类可以把字符串与字节数组互相转换
    //用Ascii编码将xxxByteArray字节数组转化为字串ss
    string ss = Encoding.ASCII.GetString(xxxByteArray);
    //用系统默认编码将字串ss转换为字节数组test
    byte[] test=Encoding.Default.GetBytes(ss);
     
    11、ListBox1.Items.Clear();//清空ListBox控件
     
  • 相关阅读:
    redis的持久化机制和数据同步
    树莓派开机自动运行脚本或者程序
    树莓派安装Firefox+Selenium+geckodriver
    树莓派修改启动界面
    树莓派安装使用RXTX
    树莓派开启或关闭开启自动登陆
    树莓派USB存储设备自动挂载并通过脚本实现自动拷贝,自动播放视频,脚本自动升级等功能
    树莓派镜像使用帮助
    BlueZ
    (转)MQTT 入门介绍
  • 原文地址:https://www.cnblogs.com/xingye3327/p/5364245.html
Copyright © 2011-2022 走看看