|
5.url传递中文的解决方案
1.设置web.config文件。 <system.web> ...... <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" /> ...... </system.web> 2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。 >> 进行传递 string Name = "中文参数"; Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name)); >> 进行接收 string Name = Request.QueryString["Name"]; Response.Write(Server.UrlDecode(Name));
3.如果是从 .HTML 文件向 .Aspx 文件进行传递中文参数的话(即不从后台用 Redirect()方法进行 Url 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。 >> 进行传递 <script language="JavaScript"> function GoUrl() { var Name = "中文参数"; location.href = "B.aspx?Name="+escape(Name); } </script> <body onclick="GoUrl()"> >> 进行接收 string Name = Request.QueryString["Name"]; Response.Write(Server.UrlDecode(Name));
一般来说。设置web.config文件就可以了。但是如果你用 JavaScript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。
6.把123456789转换为12-345-6789的3种方法
方法一: C# CODE string a = "123456789"; a = int.Parse(a).ToString("##-###-####"); Console.Write(a); 方法二:
C# CODEstring a = "123456789"; a = a.Insert(5, "-").Insert(2, "-"); Console.Write(a); 方法三:
C# CODEusing System;using System.Collections.Generic;using System.Text;using System.Text.RegularExpressions;namespace ConsoleApplication1{ class Program { static void Main() { string a = "123456789"; Regex reg = new Regex(@"^(d{2})(d{3})(d{4})$"); a = reg.Replace(a, "$1-$2-$3"); Console.Write(a); } }} 7.交换两个指定位置字符的4种方法
方法一:
C# CODEstatic void Main() { string s = "123456789"; SwapChar(ref s, 3, 6); Console.Write(s.ToString()); } static void SwapChar(ref string s, int i1, int i2) { char temp = s[i1]; char temp1 = s[i2]; s = s.Remove(i1, 1).Insert(i1, temp1.ToString()); s = s.Remove(i2, 1).Insert(i2, temp.ToString()); } 方法二:
C# CODEstatic void Main() { string s = "123456789"; //SwapChar(s, 3, 6); Console.Write(SwapChar(s, 3, 6).ToString()); } static string SwapChar(string s, int p1, int p2) { if ((p1 == p2) || ((p1 < 0) || (p2 < 0))) return s; if ((p1 >= s.Length) || (p2 >= s.Length)) return s; char[] vChars = s.ToCharArray(); vChars[p1] = (char)(vChars[p2] | (vChars[p2] = vChars[p1]) & 0); return new string(vChars); } 方法三:
C# CODEstatic void Main() { string s = "123456789"; Console.Write(SwapChar(s, 3, 6).ToString()); } public static string SwapChar(string str, int a, int b) { char[] newStr = str.ToCharArray(); newStr[a] = str[b]; newStr[b] = str[a]; return new string(newStr); } 方法四:
C# CODEusing System;using System.Collections.Generic;using System.Text;using System.Text.RegularExpressions;namespace ConsoleApplication1{ class Program { static void Main() { string s = "123456789"; Console.Write(SwapChar(s, 3, 6).ToString()); } static string SwapChar(string s, int p1, int p2) { if (p1 > p2) ...{ int p = p1; p1 = p2; p2 = p; } return Regex.Replace(s, "^(.{" + p1 + "})(.)(.{" + (p2 - p1 - 1) + "})(.)(.*)$", "$1$4$3$2$5"); } }8. “%10”的妙用
C# CODEstatic void Main() { Random r = new Random(); Console.WriteLine(r.Next() % 10);//1-9 Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); } (将输出 1-9 的整数,图略)
9.输出21个AAAAAAAAAAAAAAAAAAAAA的巧妙做法 new构造器的理解 如果要你创建一个由21个"A"字符构成的字符串,你会怎么做?
C# CODEstring str = "AAAAAAAAAAAAAAAAAAAAA";//老实型string str = new string('A', 21);//简单聪明
10.compare()与compareTo()方法
一样的功能,只是两个接口的两个方法而已。 compare是Comparatable的方法,compareTo是Comparator的方法。 |