当前位置:编程学习 > C#/ASP.NET >>

一道面试题-关于临时对象

下面代码会产生几个临时对象?
string a = new string(“abc”);
a = (a.ToUpperCase() + “123”).SubString(0,2); c# stack string --------------------编程问答-------------------- 一亿个!鉴定完毕!可以提交给你们那50岁汇编 兼职C#老师了~~~ --------------------编程问答-------------------- --------------------编程问答-------------------- 。。。纠结这些东西有什么意义

面试官问这些问题的,估计技术都强不到哪去,虽然我也不知道会产生多少个临时对象。。目测是6个 --------------------编程问答-------------------- 目测4个
1. new了一个
2. ToUpperCase又return了一个
3. 常量一个
4. SubString又来一个 --------------------编程问答-------------------- 挥挥衣袖,掉头就走。 --------------------编程问答-------------------- 5个吗 --------------------编程问答-------------------- 这些问题知道了又能怎么样?不知道又会对项目产生什么影响? --------------------编程问答-------------------- 6个鉴定完毕。 --------------------编程问答-------------------- 3个吧 
1: a.ToUpperCase();
2: a.ToUpperCase() + “123”;
3: (a.ToUpperCase() + “123”).SubString(0,2); --------------------编程问答-------------------- 你确定你写的是C#代码? --------------------编程问答--------------------
引用 9 楼 laiyongxin 的回复:
3个吧 
1: a.ToUpperCase();
2: a.ToUpperCase() + “123”;
3: (a.ToUpperCase() + “123”).SubString(0,2);


4:a
5:"123"
6:"abc" --------------------编程问答-------------------- 1.string a = new string(“abc”);
2.a.ToUpperCase()
3.a.ToUpperCase() + “123”
4.(a.ToUpperCase() + “123”).SubString(0,2);

不知道“123”是否是临时变量,在我的记忆中貌似编译器把文本常量直接编译成静态常量

这类问题的价值是考 心中有知道内存的分配是比心中不知道内存的分配强那么点点~
然后写程序的时候 节约内存也会节约点点~
垃圾回收就会减少点点~
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,