小编jas*_*onh的帖子

类型检查:typeof,GetType还是?

我见过很多人使用以下代码:

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)

就个人而言,我觉得最后一个是最干净的,但有什么我想念的吗?哪一个最好用,还是个人喜好?

c#

1435
推荐指数
8
解决办法
93万
查看次数

85
推荐指数
6
解决办法
2万
查看次数

Visual Studio边距颜色是什么意思?

我注意到Visual Studio会在边距中的几个像素宽区域上色,在您放置断点的区域的右侧.这些颜色是什么意思?

visual-studio

45
推荐指数
1
解决办法
2万
查看次数

打破XCode中的EXC_BAD_ACCESS?

我是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方法中设置属性.关于哪种方式最好,似乎没有达成共识.

iphone debugging xcode exc-bad-access objective-c

45
推荐指数
5
解决办法
6万
查看次数

无法应用发布属性?

我不知道是什么导致Visual Studio开始认为它需要发布我的项目,但现在每当我构建它时,我得到几个"无法应用项目'blah'的发布属性"警告.如何阻止Visual Studio 2005的发布工具完全处理我的项目?我使用InstallShield,因此我对Visual Studio的发布系统没有任何用处.

.net warnings visual-studio-2005 visual-studio

43
推荐指数
2
解决办法
1万
查看次数

Eclipse的Visual Studio Ctrl + Tab和Ctrl + Shift + Tab等效

在Visual Studio中,我总是使用Ctrl+ TabCtrl+ Shift+ Tab在文档之间导航.我看到Eclipse有Ctrl+ F6在编辑器之间导航,但这并不是几乎相同的行为.区别在于,按一次然后再按一次将使您在两个文件之间来回移动,而在VS中,它将使您根据编辑器中的Tab键顺序向前导航.关于如何复制VS的行为的任何想法?

eclipse navigation keyboard-shortcuts

22
推荐指数
1
解决办法
7060
查看次数

TrimEnd for Java?

在将C#应用程序转换为Java的过程中,我遇到了String的TrimEnd方法.是否有等效的Java实现?我好像找不到一个.

我宁愿不用它替换它trim,因为我不想在此时改变程序的含义或操作,除非我必须这样做.

java string

16
推荐指数
4
解决办法
1万
查看次数

iphone上的Cocos2d和Box2d指南?

我是游戏编程世界的新手,但他想为iPhone构建一个简单的基于物理的游戏.有谁知道iPhone上的Cocos2D和/或Box2D的任何教程?文档有点令人困惑.

iphone box2d cocos2d-iphone

12
推荐指数
2
解决办法
8051
查看次数

将字符串列表转换为单个连接字符串的最快方法?

我有一些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)

但这似乎并不合适.如果它是正确的解决方案,我将如何将其转换为扩展方法?

c# string extension-methods linq-to-objects

9
推荐指数
2
解决办法
1万
查看次数

命名用户控件的最佳做法?

我创建了很多用户控件来封装我的应用程序中多个位置使用的GUI功能.我注意到我通常倾向于描述控件的功能并在名称的末尾添加"Control",但并非总是如此.我想标准化命名,并想知​​道在.NET中命名用户控件是否有最佳实践?

.net c# naming-conventions winforms

9
推荐指数
1
解决办法
4112
查看次数