我见过很多人使用以下代码:
Type t = typeof(obj1);
if (t == typeof(int))
// Some code here
Run Code Online (Sandbox Code Playgroud)
但我知道你也可以这样做:
if (obj1.GetType() == typeof(int))
// Some code here
Run Code Online (Sandbox Code Playgroud)
或这个:
if (obj1 is int)
// Some code here
Run Code Online (Sandbox Code Playgroud)
就个人而言,我觉得最后一个是最干净的,但有什么我想念的吗?哪一个最好用,还是个人喜好?
我注意到Visual Studio会在边距中的几个像素宽区域上色,在您放置断点的区域的右侧.这些颜色是什么意思?
我是iPhone开发和XCode的新手,并不知道如何开始对EXC_BAD_ACCESS
信号进行故障排除.如何让XCode在导致错误的确切行中断?
我似乎无法让XCode停在线路上导致问题,但我确实在调试控制台中看到以下几行:
Sun Oct 25 15:12:14 jasonsmacbook TestProject [1289]:CGContextSetStrokeColorWithColor:无效的上下文
Sun Oct 25 15:12:14 jasonsmacbook TestProject [1289]:CGContextSetLineWidth:无效的上下文
Sun Oct 25 15:12:14 jasonsmacbook TestProject [1289]:CGContextAddPath:无效的上下文
Sun Oct 25 15:12:14 jasonsmacbook TestProject [1289]:CGContextDrawPath:无效的上下文
2009-10-25 15:12:14.680 LanderTest [1289:207]*** - [CFArray objectAtIndex:]:消息发送到释放的实例0x3c4e610
现在,我试图绘制到我检索的上下文UIGraphicsGetCurrentContext()
并传递给我想要绘制的对象.
进一步的试验和错误调试,我发现NSMutableArray
我的班上有一个属性是一个僵尸.我进入了init
该类的函数,这是我使用的代码:
if ((self = [super init])) {
NSMutableArray *array = [NSMutableArray array];
self.terrainBlocks = array;
[array release];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
我删除了[array release]
线,它不再给我EXC_BAD_ACCESS
信号,但我现在很困惑为什么这个工作.我认为当我使用该属性时,它会自动为我保留它,因此我应该从内部释放它init
以便我没有泄漏.我完全混淆了它是如何工作的,我读过的所有指南和Stackoverflow问题只会让我更加困惑如何在我的init方法中设置属性.关于哪种方式最好,似乎没有达成共识.
我不知道是什么导致Visual Studio开始认为它需要发布我的项目,但现在每当我构建它时,我得到几个"无法应用项目'blah'的发布属性"警告.如何阻止Visual Studio 2005的发布工具完全处理我的项目?我使用InstallShield,因此我对Visual Studio的发布系统没有任何用处.
在Visual Studio中,我总是使用Ctrl+ Tab和Ctrl+ Shift+ Tab在文档之间导航.我看到Eclipse有Ctrl+ F6在编辑器之间导航,但这并不是几乎相同的行为.区别在于,按一次然后再按一次将使您在两个文件之间来回移动,而在VS中,它将使您根据编辑器中的Tab键顺序向前导航.关于如何复制VS的行为的任何想法?
在将C#应用程序转换为Java的过程中,我遇到了String的TrimEnd
方法.是否有等效的Java实现?我好像找不到一个.
我宁愿不用它替换它trim
,因为我不想在此时改变程序的含义或操作,除非我必须这样做.
我是游戏编程世界的新手,但他想为iPhone构建一个简单的基于物理的游戏.有谁知道iPhone上的Cocos2D和/或Box2D的任何教程?文档有点令人困惑.
我有一些LINQ代码生成一个字符串列表,如下所示:
var data = from a in someOtherList
orderby a
select FunctionThatReturnsString(a);
Run Code Online (Sandbox Code Playgroud)
如何将该字符串列表转换为一个大的连接字符串?假设数据包含以下条目:
"Some "
"resulting "
"data here."
Run Code Online (Sandbox Code Playgroud)
我应该得到一个看起来像这样的字符串:
"Some resulting data here."
Run Code Online (Sandbox Code Playgroud)
我该怎么办?我想到了这个:
StringBuilder sb = new StringBuilder();
data.ToList().ForEach(s => sb.Append(s));
string result = sb.ToString();
Run Code Online (Sandbox Code Playgroud)
但这似乎并不合适.如果它是正确的解决方案,我将如何将其转换为扩展方法?
我创建了很多用户控件来封装我的应用程序中多个位置使用的GUI功能.我注意到我通常倾向于描述控件的功能并在名称的末尾添加"Control",但并非总是如此.我想标准化命名,并想知道在.NET中命名用户控件是否有最佳实践?
c# ×4
.net ×2
iphone ×2
string ×2
box2d ×1
class-design ×1
debugging ×1
eclipse ×1
interface ×1
java ×1
navigation ×1
objective-c ×1
warnings ×1
winforms ×1
xcode ×1