1、public static const int Length=1 有何错误如何改正?
static与const不可同时使用
public const int Length=1 或public static int Length=1
2、$get,$.post,$.getJson有何区别?
$get以get方式异步请求 $.post以post方式异步请求 $.getJSON()使用ajax的HTTP GET强求获取json数据,支持跨域调用
3、如何在string类中实现一个方法,获取空格个数?
我是这样做的:
public int GetNum(string aa)
{
string[] arr = aa.Split(' ');
if (arr.Length == 0||arr.Length==1) return 0;
else return arr.Length - 1;
}
4、XML和JSON格式有什么优缺点?
<1>.XML的优点
A.格式统一,符合标准;
B.容易与其他系统进行远程交互,数据共享比较方便。
<2>.XML的缺点
A.XML文件庞大,文件格式复杂,传输占带宽;
B.服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;
C.客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码;
D.服务器端和客户端解析XML花费较多的资源和时间。
(2).JSON的优缺点
<1>.JSON的优点:
A.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小;
B.易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取;
C.支持多种语言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服务器端语言,便于服务器端的解析;
D.在PHP世界,已经有PHP-JSON和JSON-PHP出现了,偏于PHP序列化后的程序直接调用,PHP服务器端的对象、数组等能直接生成JSON格式,便于客户端的访问提取;
E.因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护。
<2>.JSON的缺点
A.没有XML格式这么推广的深入人心和喜用广泛,没有XML那么通用性;
B.JSON格式目前在Web Service中推广还属于初级阶段。
5、public void Swap(ref int a,ref int b) 如何在尽量不增加内存开销的情况下互换a,b的值?
我这样做的:int temp; temp=b; b=a;a=temp;
6、数据库连接池和线程池的好处?
连接池技术尽可能多地重用了消耗内存地资源,大大节省了内存,提高了服务器地服务效率,能够支持更多的客户服务。通过使用连接池,将大大提高程序运行效率。
7、下面一段代码有什么错误?
public void InserLog()
{
publicstaticstringstrConnection= System.Configuration.ConfigurationManager.ConnectionStrings["mainDB"].ConnectionString;
string msg = "异常信息:出错了!";
using (SqlConnection conn = new SqlConnection(_Default.strConnection))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = string.Format("insert into MsgLog(Msg,CreateDate) values ('{0}',{1})",msg,DateTime.Now.Ticks);
cmd.ExecuteNonQuery();
}
}
异常信息:ExecuteNonQuery 要求已打开且可用的连接。连接的当前状态为已关闭。解决办法: SqlCommand cmd = new SqlCommand()上面增加:conn.Open();
8、下面一段程序输出结果是什么?
static void Main(string[] args)
{
Console.WriteLine(Test());
Console.ReadKey();
}
public static int Test()
{
int i = 1;
try
{
throw new Exception("抛出异常!");
return i;
}
catch (Exception e)
{
i = 3;
}
finally
{
++i;
}
if (i <= 3) Console.WriteLine("done");
return --i;
}
输出结果:3 执行顺序:throw new Exception("抛出异常!")=》i=3=>++i=>--i
9、string a="1";
object a="1";
String b="1";
Object b="1";区别是什么?
String属于CLR共用语言运行时中的类型,string是C#中的类型。而且,string仅仅只是String类型的一个别名而已。平时使用string就可以了,尽量不要两者都使用
String常用方法
clone()方法:克隆一个一模一样的对象,不会影响原对象。
equals()方法:默认是比较两个对象的地址值
tostring()方法:输出类的属性。一般来说输出的格式是:类名 + @ + 地址值。
字符串一旦被赋值,内容就不能改变,但是引用可变。
String s = new String(); //默认构造函数,s什么东西都没有
byte[] bytes = {97,98,99,100}; //A,B,C,D的哈希码
String s = “hello”;//在方法区中有,就直接返回;无,则创建;
s +=“word”;//s = helloword 在方法区中没有,要创建。s又是引用另一个地址值
String s2 = new String(bytes); //s2的值为:A,B,C,D
区别:
String s2 = new String(“hello”);//在堆区中,实体放在方法区中的字符串常量值中,在栈区中引用的堆区值则是另外一个地址。
String s1 = “hello”;//栈区中的声明,直接引用方法区中的地址值,如果有的话,直接返回地址值。
Object常用方法
Object的每个实例都具有下列属性和方法。
constructor: 保存着用于创建当前对象的函数。例如 var o = new Object(); 它的构造函数就是 Object。
hasOwnProperty(propertyName): 用于检查给定的属性在当前的对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串的形式指定(例如: o.hasOwnProperty("name"))。
isPrototypeOf(object): 用于检查传入的对象是否是传入对象的原型。
propertyIsEnumerable(propertyName): 用于检查给定的属性是否能够使用for-in语句来枚举。
toLocaleString(): 返回对象的字符串表示,该字符串与执行环境的地区对应。
toString():返回对象的字符串表示(null和undefined没有该方法)。
valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。
当对象进行操作符运算时,先调用valueOf方法,如果不存在再调用toString方法,都不存在返回 NaN。
Object和String的equals区别
String类的equals比较的是值
Object类的equals比较的是内存地址
==基本数据类型比较的是值
==引用数据类型比较的是地址
object a = "1";
object b = "1";
string a1 = "1";
string b1 = "1";
Program p1 = new Program();
Program p2 = new Program();
a.Equals(b);//true
a1.Equals(b1);//true
p1.Equals(p2);//false