c#基础知识(二)

上一篇 / 下一篇  2014-04-30 15:16:23 / 个人分类:C#

c#基础知识(二)
String.Format
String.Format是将指定的 String类型的数据中的每个格式项替换为相应对象的值的文本等效项。
(a)string p1 = "Jackie";
          string p2 = "Aillo";
          Response.Write(String.Format("Hello {0}, I'm {1}", p1, p2));
      (b)Response.Write(String.Format("Hello {0}, I'm {1}", "Jackie", "Aillo")); 
这二者的效果是一样的。都是将最后面的两项的值分别替换第一项的{0}和{1}。
哈希表(Hashtable) 
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对。
      哈希表的简单操作
在哈希表中添加一个key/value键值对:HashtableObject.Add(key,value);
在哈希表中去除某个key/value键值对:HashtableObject.Remove(key);
从哈希表中移除所有元素:HashtableObject.Clear(); 
判断哈希表是否包含特定键key:HashtableObject.Contains(key);示例:using System;using System.Collections; //使用Hashtable时,必须引入这个命名空间
class hashtable
{
     public static void Main()
    {
        Hashtable ht = new Hashtable(); //创建一个Hashtable实例
        ht.Add("E", "e");//添加key/value键值对
        ht.Add("A", "a");
        ht.Add("C", "c");
        ht.Add("B", "b");
        string s = (string)ht["A"];
        if (ht.Contains("E")) //判断哈希表是否包含特定键,其返回值为true或false
        Console.WriteLine("the E key:exist");
        ht.Remove("C");//移除一个key/value键值对
        Console.WriteLine(ht["A"]);//此处输出a
        ht.Clear();//移除所有元素
        Console.WriteLine(ht["A"]); //此处将不会有任何输出
        Console.ReadKey();
    }
}
@忽略转义符 
@其实就是取消字符串中的转义作用
(a)输入路径:C:\windows\system32\calc.exe
普通输入为C:\\windows\\system32\\calc.exe,但是你可以前面加个@就不用输入两个\\了,@“C:\windows\system32\calc.exe” 
(b)不加@的字符串"\n\002wang" 中\n是换行 \002是八进制,而加了@那就是字符串"\n\002wang" 
var关键字
VAR 是3.5新出的一个定义变量的类型,弱化类型的定义,var可以代替任何类型,编译器会根据上下文来判断你到底是想用什么类型, 类似 OBJECT。
必须在定义时初始化,如var result = temp.FirstOrDefault();
Parse解析
如a = int.Parse (Console.ReadLine());
将Console.ReadLine()得出来的字符串转换为整型(int),同理也有long.parse(),datetime.parse()等等。强制类型转换可写成:(int)(Console.ReadLine())
示例: 
ResponseXml = XDocument.Parse(responseStr);
功能等同于如:responseXml = getResponseXml(responseStr);
public Xml getResponseXml(string responseStr)
{
Xml responseXml = new Xml(responseStr);
return responseXml;
}
 Path.Combine
System.IO.Path.Combine 简单来说,就是合并两个路径字符串。
//Flight.Booking\Flight.Booking.API\SaveOrderBaseInfoRequest\SaveOrderBaseInfoRequest.xml
requestXmlPath = Path.Combine(@"Flight.Booking\Flight.Booking.API\SaveOrderBaseInfoRequest", "SaveOrderBaseInfoRequest.xml")
//D:\study\API.Flight\Demo\bin\Debug\Flight.Booking\Flight.Booking.API\SaveOrderBaseInfoRequest\SaveOrderBaseInfoRequest.xml
  string path =Path.Combine(AppDomain.CurrentDomain.BaseDirectory, requestXmlPath) // 获取程序的基目录。

C# System.Guid.NewGuid()  

概念
GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) 。 GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。 
Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如如注册表项、类及接口标识、数据库、系统目录等对象。
格式
GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个32位十六进制数。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。
System.Guid.NewGuid().ToString("N");        32位字符串
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
System.Guid.NewGuid().ToString("D");        连字符分隔的32位字符串
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
System.Guid.NewGuid().ToString("B");        在大括号中、由连字符分隔的32位字符串
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
System.Guid.NewGuid().ToString("P");        在圆括号中、由连字符分隔的32位字符串
(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)


SQL语法注入
StringBuild 一般用于构建比较长的字符串,想必你这里的1=1应该是用在了Sql的查询语句中.那么看一下以下这些简单的代码.
StringBuild sb = new StringBuild();
sb.Append("select * from talbe1 ")
sb.Append("where 1=1 ")
sb.Append("and col1='a' ")
sb.Append("and col2='2' ")

这里的1=1其实是没意思的(它是永远成立的,可以忽略).但如果没有1=1,你之后的条件将怎么与前面的字符串拼接呢?是用"where"还是用"and"?
所以这里只是将后面的查询条件方便与关键字"and"连接.这样只要在需要后接条件的时候接上一个"and"就可以了.不必考虑什么时候用"where"
c#三层架构
表示层:为用户提供一种交互式操作界面;创建一个Windows应用程序,相当于action层
业务逻辑层:是表示层与数据访问层之间的桥梁,负责数据处理和传递,类库,相当于service层
数据访问层:实现对数据的保存和读取操作,类库,相当于domain
model层:放实体类,相当于javabean,dao层


TAG:

 

评分:0

我来说两句

日历

« 2024-05-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 29397
  • 日志数: 27
  • 建立时间: 2014-03-18
  • 更新时间: 2014-07-10

RSS订阅

Open Toolbar