标签: variable-declaration

将布尔值设置为false冗余?

我已经阅读了关于这个主题的几个先前提出的问题和答案[或非常相似],但他们都没有真正解决这一点.在声明一个新的布尔变量时,将它初始化为false是多余的[例如不必要]吗?

boolean selectedZone = false;
Run Code Online (Sandbox Code Playgroud)

而不是宣布

boolean selectedZone;
Run Code Online (Sandbox Code Playgroud)

我看过的其他帖子是 为什么Java的默认值为Boolean设置为true?java中布尔值的默认值

java boolean initialization variable-declaration

8
推荐指数
2
解决办法
2477
查看次数

告诉Swift编译器一个对象的类型,而不是推断?

我已经做了几个月的Swift编程了,我一直很好奇这个......

告诉Swift编译器声明中对象的类型是否有优势?即let image: UIImage = UIImage()

与不告诉编译器并让它在运行时推断类型相比.即let image = UIImage()

我认为告诉编译器对象类型而不是推断它的类型会更有效.我知道这个问题也适用于Objective-C语法,所以我会在标签中添加它.

variable-declaration ios swift

8
推荐指数
1
解决办法
133
查看次数

7
推荐指数
1
解决办法
1713
查看次数

在@interface中声明ivar和在@implementation中放置变量之间的区别

在一个.m文件中声明一个ivar @interface与一个变量之间的区别是什么@implementation

@interface MyClass : NSObject {
  int num;
}
- (void)doSomething;
@end
Run Code Online (Sandbox Code Playgroud)

@implementation MyClass   
int num2;

- (void)doSomething {
  num = 137;
  num2 = 138;
}
@end
Run Code Online (Sandbox Code Playgroud)

有没有时间你想把变量放在@implementation

scope class objective-c variable-declaration

7
推荐指数
2
解决办法
5563
查看次数

在C#中,有没有办法同时定义枚举和枚举的实例?

在c#中寻找代码优化,允许我同时定义枚举并同时创建该枚举类型的变量:

之前:

    enum State {State1, State2, State3};
    State state = State.State1;
Run Code Online (Sandbox Code Playgroud)

之后(不起作用):

    enum State {State1, State2, State3} state;
    state = State.State1;
Run Code Online (Sandbox Code Playgroud)

这样的事情存在吗?

c# syntax enums variable-declaration

7
推荐指数
2
解决办法
8561
查看次数

在@implementation中声明变量

我在一本书中看到了一个显示此代码的示例:

@implementation ViewController
{
    NSString *name;
}
Run Code Online (Sandbox Code Playgroud)

为什么不宣布这个@interface?在声明变量@implementation而不是@interface?中有什么区别?为什么NSString在范围内声明这个?

scope class objective-c variable-declaration

7
推荐指数
1
解决办法
1884
查看次数

公共静态最终变量的等价物

我理解将单词放在extern头文件中的变量声明之前声明存在一个全局静态变量而不初始化它.我也明白,如果我导入包含extern变量的文件,我可以在没有类/文件名的情况下引用它们.但是,在哪里定义它们及其价值?

我想要做的是创建一个具有全局常量的常量类,我想在整个iOS应用程序的代码中使用它们.

有人把它们放在界面里面吗?

example.h文件

#import <Foundation/Foundation.h>
@interface Constraints : NSObject
{

extern   NSString * const PREFS_NAME;

}
Run Code Online (Sandbox Code Playgroud)

或者就像这样放在接口之外

example.h文件

#import <Foundation/Foundation.h>

extern   NSString * const PREFS_NAME;    

@interface Constraints : NSObject
{

}
Run Code Online (Sandbox Code Playgroud)

然后在实现.m文件中如何初始化extern值?

在这样的实施区域内?

Example.m

#import "Constraints.h"

@implementation Constraints

/**PRefecences name for the application**/
const  NSString * PREFS_NAME = @"MyApp_Prefs";

@end
Run Code Online (Sandbox Code Playgroud)

或者在实现区域之外初始化它们,如下所示:

Example.m

#import "Constraints.h"

/**PRefecences name for the application**/
const  NSString * PREFS_NAME = @"MyApp_Prefs";

@implementation Constraints

@end
Run Code Online (Sandbox Code Playgroud)

或者我在构造函数中提供它们的初始值?或者+在它前面的一些任意的静态样式方法,即+(void) setAppConstraints;

我尝试了几种组合,但总是遇到错误,例如"使用不同类型重新定义'xVariable'".或者关于"extern没有初始化界面"的东西(或类似的东西,我忘了).所以我想知道如何正确地声明和初始化它们以形成与 …

syntax objective-c extern variable-declaration

7
推荐指数
1
解决办法
9623
查看次数

在长变量声明中使用字母L.

long l2 = 32;
Run Code Online (Sandbox Code Playgroud)

当我使用上面的语句时,我没有收到错误(我最后没有使用l过),但是当我使用下面的语句时,我收到此错误:

int类型的文字3244444444超出范围

long l2 = 3244444444;
Run Code Online (Sandbox Code Playgroud)

如果我使用long l2 = 3244444444l;,那就没有错误.

这是什么原因?对于长变量,使用l不是必需的.

java variable-declaration long-integer

7
推荐指数
1
解决办法
6237
查看次数

为什么类型声明在静态类型语言中很重要?

我试图理解静态类型的编程语言的好处,并且通过它,我想知道为什么我们需要在声明中包含类型?它是出于任何目的而不是使类型明确吗?如果是这种情况,我不明白这一点.我理解静态类型允许在编译时进行类型检查,但如果我们省略显式类型声明,Java在编译时是否仍然可以推断类型?

例如,假设我们在Java中:

myClass test = new myClass();
Run Code Online (Sandbox Code Playgroud)

这里不需要类型声明吗?如果我没有弄错的话,这是静态绑定,即使在编译时,Java也应该知道test类型myClass没有明确的类型声明.

对可能重复的响应:这不是关于静态与动态类型的问题,而是关于静态类型语言中的类型推断,如接受的答案中所述.

java oop static-typing variable-declaration

7
推荐指数
1
解决办法
138
查看次数

C# Var 与 Target 类型的 new

C#9几天前正式发布。一项新的语言功能是“目标类型的新表达式”,它的使用感觉与var. 比较以下声明,我很好奇哪个性能更高(如果有的话),以及不同上下文应首选哪种语法。

var person = new Person()Person person = new()

对于收藏:

var people = new[] {
    new Person(),
    new Person(),
    new Person(),
}
Run Code Online (Sandbox Code Playgroud)

var people = new Person[] {
    new(),
    new(),
    new(),
}
Run Code Online (Sandbox Code Playgroud)

c# var variable-declaration

7
推荐指数
1
解决办法
1941
查看次数