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控件
 
原文地址:https://www.cnblogs.com/xingye3327/p/5364245.html