标签: parameters

C#中引用类型变量的"ref"有什么用?

我理解如果我传递一个值类型(int,struct等)作为参数(没有ref关键字),该变量的副本将传递给该方法,但如果我使用该ref关键字,则传递对该变量的引用,不是新的.

但是使用引用类型(如类),即使没有ref关键字,也会将引用传递给方法,而不是副本.那么ref关键字与引用类型的用途是什么?


举个例子:

var x = new Foo();
Run Code Online (Sandbox Code Playgroud)

以下有什么区别?

void Bar(Foo y) {
    y.Name = "2";
}
Run Code Online (Sandbox Code Playgroud)

void Bar(ref Foo y) {
    y.Name = "2";
}
Run Code Online (Sandbox Code Playgroud)

c# parameters pass-by-reference pass-by-value

167
推荐指数
6
解决办法
4万
查看次数

在C#中是否存在具有参数约束的通用构造函数?

在C#中,您可以对通用方法设置约束,例如:

public class A {

    public static void Method<T> (T a) where T : new() {
        //...do something...
    }

}
Run Code Online (Sandbox Code Playgroud)

您指定的T应该具有不需要参数的构造函数.我想知道是否有办法添加一个约束,如" 存在一个带float[,]参数的构造函数? "

以下代码无法编译:

public class A {

    public static void Method<T> (T a) where T : new(float[,] u) {
        //...do something...
    }

}
Run Code Online (Sandbox Code Playgroud)

解决方法也有用吗?

c# generics parameters constructor generic-constraints

156
推荐指数
6
解决办法
7万
查看次数

在Windows命令行中使用批处理文件中的参数

在Windows中,如何访问运行批处理文件时传递的参数?

例如,假设我有一个名为的程序hello.bat.当我进入hello -aWindows命令行时,如何让我的程序知道-a作为参数传递?

windows parameters arguments cmd batch-file

155
推荐指数
4
解决办法
42万
查看次数

将值附加到查询字符串

我在列表中设置了类似于下面的URL

我已设法使用以下代码获取查询字符串:

myurl = longurl.Split('?');
NameValueCollection qs = HttpUtility.ParseQueryString(myurl [1]);

foreach (string lol in qs)
{
    // results will return
}
Run Code Online (Sandbox Code Playgroud)

但它只返回基于提供的URL的id,server,location等参数 .

我需要的是添加/追加现有查询字符串的值.

例如,使用URL:

http://somesite.com/backup/index.php?action=login&attempts=1

我需要更改查询字符串参数的值:

行动= login1

尝试= 11

如您所见,我为每个值附加了"1".我需要从包含不同查询字符串的字符串中获取一组URL,并在最后为每个参数添加一个值,然后再将它们添加到列表中.

c# parameters query-string

145
推荐指数
5
解决办法
14万
查看次数

AngularJS ui路由器在没有URL的状态之间传递数据

我面临的问题是在两个状态之间传递数据而不暴露网址中的数据,就像用户不能真正直接落在这种状态上一样.

例如.我有两个状态"A"和"B".我正在状态"A"中进行一些服务器调用,并将调用的响应传递给状态"B".服务器调用的响应是一个字符串消息,这很长,所以我不能在url中公开它.

那么在角度ui路由器中有没有办法在状态之间传递数据,而不使用url params?

parameters state angularjs angular-ui-router

144
推荐指数
2
解决办法
14万
查看次数

在不使用typedef的情况下声明块方法参数

是否可以在不使用typedef的情况下在Objective-C中指定方法块参数?它必须像函数指针一样,但是如果不使用中间的typedef,我就无法获得胜利的语法:

typedef BOOL (^PredicateBlock_t)(int);
- (void) myMethodTakingPredicate:(PredicateBlock_t)predicate
Run Code Online (Sandbox Code Playgroud)

只有以上编译,所有这些都失败了:

-  (void) myMethodTakingPredicate:( BOOL(^block)(int) ) predicate
-  (void) myMethodTakingPredicate:BOOL (^predicate)(int)
Run Code Online (Sandbox Code Playgroud)

我不记得我尝试过的其他组合.

parameters objective-c objective-c-blocks

143
推荐指数
4
解决办法
9万
查看次数

正确使用Java -D命令行参数

在Java中传递-D参数时,编写命令行然后从代码中访问它的正确方法是什么?

例如,我试过写这样的东西......

if (System.getProperty("test").equalsIgnoreCase("true"))
{
   //Do something
}
Run Code Online (Sandbox Code Playgroud)

然后像这样称呼它......

java -jar myApplication.jar -Dtest="true"
Run Code Online (Sandbox Code Playgroud)

但是我收到了NullPointerException.我究竟做错了什么?

java parameters command-line

142
推荐指数
3
解决办法
17万
查看次数

如何通过网页将参数传递到PHP脚本?

每当网页加载时我都会调用PHP脚本.但是,有一个PHP脚本需要运行的参数(我通常在测试脚本时通过命令行).

每次在页面加载时运行脚本时,如何传递此参数?

php parameters

137
推荐指数
2
解决办法
22万
查看次数

static char关键字在函数数组参数中的用途如"char s [static 10]"?

在浏览一些源代码时,我遇到了这样的函数:

void someFunction(char someArray[static 100])
{
    // do something cool here
}
Run Code Online (Sandbox Code Playgroud)

通过一些实验,似乎其他限定符也可能出现在那里:

void someFunction(char someArray[const])
{
    // do something cool here
}
Run Code Online (Sandbox Code Playgroud)

似乎只有[ ]在将数组声明为函数的参数时才允许使用限定符.这些怎么办?为什么功能参数不同?

c arrays parameters static

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

PHP检查对象或类中是否存在属性

我理解PHP没有纯对象变量,但我想检查一个属性是否在给定的对象或类中.

$ob = (object) array('a' => 1, 'b' => 12); 
Run Code Online (Sandbox Code Playgroud)

要么

$ob = new stdClass;
$ob->a = 1;
$ob->b = 2;
Run Code Online (Sandbox Code Playgroud)

JS中,我可以编写它来检查a对象中是否存在变量:

if ('a' in ob)
Run Code Online (Sandbox Code Playgroud)

PHP中,可以做这样的事吗?

非常感谢您的建议.

php variables parameters class object

128
推荐指数
4
解决办法
13万
查看次数