对于任何给定的类型,我想知道它的默认值.
在C#中,有一个名为default的关键字,就像这样做
object obj = default(Decimal);
Run Code Online (Sandbox Code Playgroud)
但我有一个Type(称为myType)的实例,如果我这样说,
object obj = default(myType);
Run Code Online (Sandbox Code Playgroud)
它不起作用
这样做有什么好办法吗?我知道一个巨大的开关块可以工作,但这不是一个好的选择.
是否可以将我的默认MySQL数据目录更改为另一个路径?我能从旧位置访问数据库吗?
虽然可能存在这样的方法过载可能变得模糊的有效情况,但为什么编译器不允许在编译时和运行时都不模糊的代码?
例:
// This fails:
def foo(a: String)(b: Int = 42) = a + b
def foo(a: Int) (b: Int = 42) = a + b
// This fails, too. Even if there is no position in the argument list,
// where the types are the same.
def foo(a: Int) (b: Int = 42) = a + b
def foo(a: String)(b: String = "Foo") = a + b
// This is OK:
def foo(a: String)(b: Int) = a + b …Run Code Online (Sandbox Code Playgroud) 是否可以在Matlab中使用默认参数?例如,这里:
function wave(a, b, n, k, T, f, flag, fTrue=inline('0'))
Run Code Online (Sandbox Code Playgroud)
我想让真正的解决方案成为wave函数的可选参数.如果有可能,任何人都可以证明这样做的正确方法吗?目前,我正在尝试上面发布的内容,我得到:
??? Error: File: wave.m Line: 1 Column: 37
The expression to the left of the equals sign is not a valid target for an assignment.
Run Code Online (Sandbox Code Playgroud) 我正在使用PreferenceActivity让用户设置一些值.我正在使用定义的首选项为xml文件提供它.
我android:defaultValue=""为他们设置了全部.
当我启动我的应用程序时,我需要首选项,或者如果它们尚未手动设置,我想要默认值:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean value = prefs.getBoolean("key"), false);
Run Code Online (Sandbox Code Playgroud)
但是,当android:defaultValue="true"我还是得到的时候false.因此,看起来XML中设置的defaultValues不会在初始化首选项屏幕时使用.
我不想硬编码方法中的默认值getBoolean().那么,有没有办法获得默认值,只在一个地方定义这些?
我想知道是否可以更改一些默认的ggplot2图形参数,例如整个R会话的字体大小.我们的想法是避免为每个情节设置它们.
我通过编写代码而不是使用GUI在Microsoft SQL Server 2000中创建一个新表,我正在尝试学习如何"手动方式".
这是我实际使用的代码,它工作正常:
CREATE TABLE "attachments"
(
"attachment_id" INT NOT NULL,
"load_date" SMALLDATETIME NOT NULL,
"user" VARCHAR(25) NOT NULL,
"file_name" VARCHAR(50) NOT NULL,
CONSTRAINT "pk_attachments" PRIMARY KEY ("attachment_id"),
CONSTRAINT "fk_users" FOREIGN KEY ("user") REFERENCES "users" ("user"),
CONSTRAINT "ch_load_date" CHECK ("load_date" < GETDATE())
)
Run Code Online (Sandbox Code Playgroud)
我已经自己指定了主键,外键和检查约束,因为这样我可以为它们定义一个名称,否则将它们声明为内联会使SQL Server生成一个随机名称,而我并不"喜欢"它.
当我尝试声明默认值约束时出现问题:查看Internet上的信息以及Microsoft SLQ Server Management Studio如何创建它,我了解它可以内联和单独创建:
"load_date" SMALLDATETIME NOT NULL DEFAULT GETDATE()
Run Code Online (Sandbox Code Playgroud)
要么
CONSTRAINT "df_load_date" DEFAULT GETDATE() FOR "load_date"
Run Code Online (Sandbox Code Playgroud)
内联方法工作正常,但它像往常一样为constaint生成一个随机名称,独立方法抛出错误,说Incorrect syntax near 'FOR'..
此外,如果我创建表然后ALTER它,该命令工作:
ALTER TABLE "attachments"
ADD CONSTRAINT "df_load_date" …Run Code Online (Sandbox Code Playgroud) 这是
struct Example {
int a, b;
Example(int mA, int mB) : a{mA}, b{mB} { }
Example(const Example& mE) : a{mE.a}, b{mE.b} { }
Example(Example&& mE) : a{move(mE.a)}, b{move(mE.b)} { }
Example& operator=(const Example& mE) { a = mE.a; b = mE.b; return *this; }
Example& operator=(Example&& mE) { a = move(mE.a); b = move(mE.b); return *this; }
}
Run Code Online (Sandbox Code Playgroud)
相当于此
struct Example {
int a, b;
Example(int mA, int mB) : a{mA}, b{mB} { }
Example(const Example& mE) = default; …Run Code Online (Sandbox Code Playgroud) 编辑:
如何将Django字段的默认设置为每次创建新模型对象时评估的函数?
我想做类似下面的事情,除了在这段代码中,代码被评估一次并将默认设置为创建的每个模型对象的相同日期,而不是每次创建模型对象时评估代码:
from datetime import datetime, timedelta
class MyModel(models.Model):
# default to 1 day from now
my_date = models.DateTimeField(default=datetime.now() + timedelta(days=1))
Run Code Online (Sandbox Code Playgroud)
原版的:
我想为函数参数创建一个默认值,使其成为动态的,并在每次调用函数时调用和设置.我怎样才能做到这一点?例如,
from datetime import datetime
def mydate(date=datetime.now()):
print date
mydate()
mydate() # prints the same thing as the previous call; but I want it to be a newer value
Run Code Online (Sandbox Code Playgroud)
具体来说,我想在Django中这样做,例如,
from datetime import datetime, timedelta
class MyModel(models.Model):
# default to 1 day from now
my_date = models.DateTimeField(default=datetime.now() + timedelta(days=1))
Run Code Online (Sandbox Code Playgroud) 在C++模板中,可以指定某个类型参数是默认值.即除非明确指定,否则它将使用类型T.
可以用C#完成或近似吗?
我正在寻找类似的东西:
public class MyTemplate<T1, T2=string> {}
Run Code Online (Sandbox Code Playgroud)
这样一个没有明确指定的类型的实例T2:
MyTemplate<int> t = new MyTemplate<int>();
Run Code Online (Sandbox Code Playgroud)
基本上是:
MyTemplate<int, string> t = new MyTemplate<int, string>();
Run Code Online (Sandbox Code Playgroud)
最后,我正在研究一个案例,其中有一个相当广泛使用的模板,但我正在考虑使用其他类型参数进行扩展.我想,我可以继承,但我很好奇是否还有其他选择.
default ×10
c# ×2
parameters ×2
types ×2
android ×1
arguments ×1
c++ ×1
c++11 ×1
constraints ×1
constructor ×1
directory ×1
django ×1
font-size ×1
generics ×1
ggplot2 ×1
lambda ×1
matlab ×1
methods ×1
mysql ×1
overloading ×1
preferences ×1
r ×1
scala ×1
t-sql ×1