标签: params

C#:params关键字与列表

使用params关键字与List作为某些c#函数的输入有什么利弊?

主要是性能考虑因素和其他权衡因素.

c# optimization list params

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

Rails:使用params重定向

传递一些参数和重定向的最佳方法是什么?

我看到的例子说,如果你只是将它们添加到你的重定向哈希中,它们会传递请求,但这似乎在Rails 3中不再起作用了.

在我的示例中,我有一个"编辑多个"页面,允许用户一次更改多个项目的类别.因为他们正在浏览这么多项目,所以这个表格是分页的.

如果用户打开items page 3,进行一些更改并按下sumbit,则控制器操作会收到一条帖子请求,其中包含已更改的记录的ID,进行更改并重定向到edit_many_items_path.

所以,重定向看起来像这样:

redirect_to edit_multiple_items_path, :notice => 'items updated'
Run Code Online (Sandbox Code Playgroud)

...但我想要它做的是:

redirect_to edit_multiple_items_path, :notice => 'items updated', :page => ##
Run Code Online (Sandbox Code Playgroud)

上面的代码不起作用,那么有没有人会有什么样的例子呢?

redirect routing ruby-on-rails params ruby-on-rails-3

32
推荐指数
1
解决办法
3万
查看次数

为什么将null传递给params方法导致null参数数组?

我有一个使用params关键字的方法,如下所示:

private void ParamsMethod(params string[] args)
{
    // Etc...
}
Run Code Online (Sandbox Code Playgroud)

然后,我使用各种参数组合调用该方法:

                            // Within the method, args is...
ParamsMethod();             // - a string array with no elements
ParamsMethod(null);         // - null (Why is this?)
ParamsMethod((string)null); // - a string array with one element: null
ParamsMethod(null, null);   // - a string array with two elements: null and null
ParamsMethod("s1");         // - a string array with one element: "s1"
ParamsMethod("s1", "s2");   // - a string array with two elements: "s1" and …
Run Code Online (Sandbox Code Playgroud)

.net c# params .net-3.5

30
推荐指数
2
解决办法
6329
查看次数

多个"参数"参数是否可能?

params在C#中可以有多个参数吗?像这样的东西:

void foobar(params int[] foo, params string[] bar)
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否可行.如果是,编译器将如何决定在哪里拆分参数?

c# parameters params

28
推荐指数
5
解决办法
3万
查看次数

如何从Rails中的date_select或select_date获取日期?

使用select_date给我回params[:my_date]year,monthday属性.如何轻松获取Date对象?我希望有类似的东西params[:my_date].to_date.

我也乐意使用date_select它.

ruby ruby-on-rails params ruby-on-rails-3 ruby-on-rails-3.2

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

确定参数是否在C#中使用反射使用"params"?

考虑这个方法签名:

public static void WriteLine(string input, params object[] myObjects)
{
    // Do stuff.
}
Run Code Online (Sandbox Code Playgroud)

如何确定WriteLine方法的"myObjects"参数使用params关键字并且可以采用变量参数?

.net c# reflection params

24
推荐指数
3
解决办法
3903
查看次数

Groovy:是不是有开箱即用的stringToMap?

作为一个以groovy开头的tcl开发人员,我对groovy中的列表和地图支持感到有些惊讶.也许我在这里遗漏了一些东西.

我习惯在tcl中即时转换字符串,列表和数组/映射.在tcl中,类似于

"['a':2,'b':4]".each {key, value -> println key + " " + value}
Run Code Online (Sandbox Code Playgroud)

是可能的,在groovy中,每个命令都会遍历字符串的每个字符.

这可能是一个很大的问题,因为我可以轻松地使用像split或tokenize命令这样的东西,但由于序列化的列表或映射不仅仅是"a:2,b:4",因此解析起来有点困难.

似乎griffon开发人员使用stringToMap库(http://code.google.com/p/stringtomap/),但该示例也无法处理序列化地图.

所以现在我的问题是:在groovy中解析地图或列表的最佳方法是什么?

干杯,拉尔夫

PS:这是一个时髦的问题,但我用grails标记了它,因为我需要grails的这个功能,我想通过URL传递地图

更新:对我来说,这仍然是一个悬而未决的问题......所以这里有一些针对同样问题的人的更新:

  • 当你把一个Map变成一个String时,a .toString()会导致在所有情况下都无法转换回地图的东西,但是.inspect()会给你一个可以回溯到地图的String!
  • 在Grails中,有一个- .encodeAsJSON()并且JSON.parse(String)- 两者都很棒,但我还没有检查解析器将使用JSON函数做什么(可能的安全问题)

string grails groovy map params

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

Angular测试使用RouteParams的控制器

我需要测试一个$routeParams用于定义动作的Controller .也许这是一个测试问题,或者我编写控制器的方式是错误的,所以现在我无法编写测试.

这是我的控制器

angular.module('cmmApp')
.controller('UserCtrl', function ($scope, $location, $routeParams, $ionicLoading, $ionicPopup, Userservice) {

    //if a user id is set retrieve user information
    if(typeof $routeParams.id !== 'undefined'){

        var loader = $ionicLoading.show({content: "Retrieving user data"});

        var user = Userservice.get({id: $routeParams.id}).$promise;

        user.then(function(res){
            console.log(res);
            $scope.user = res.user;
            loader.hide();
        });
    }
    //else create an empty resource
    else {
        $scope.user = new Userservice;
    }
});
Run Code Online (Sandbox Code Playgroud)

基本上我只想在提供id的情况下加载资源$routeParams,否则创建一个空资源.

以下是测试:

'use strict';

describe('Controller: UserCtrl', function () {

  // load the controller's module
  beforeEach(module('cmmApp'));

  var UserCtrl, …
Run Code Online (Sandbox Code Playgroud)

routes params jasmine angularjs karma-runner

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

带参数的命名参数

我有一个从数据库中获取值的方法.

 public virtual List<TEntity> GetValues(
           int? parameter1 = null,
           int? parameter2 = null,
           int? parameter3 = null,
           params Expression<Func<TEntity, object>>[] include)
        {
            //...
        } 
Run Code Online (Sandbox Code Playgroud)

如何使用命名参数调用此函数以不在之前写入所有参数include?我想做这样的事情

var userInfo1 = Unit.UserSrvc.GetValues(include: p => p.Membership, p => p.User);
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用?如何在params中使用命名参数?

c# function params

23
推荐指数
2
解决办法
5772
查看次数

params超载明显模糊 - 仍然编译和工作?

我们刚刚在代码中找到了这些:

public static class ObjectContextExtensions
{

    public static T Find<T>(this ObjectSet<T> set, int id, params Expression<Func<T, object>>[] includes) where T : class
    {
        ...
    }

    public static T Find<T>(this ObjectSet<T> set, int id, params string[] includes) where T : class
    {
       ...
    }
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,除了params.之外,它们具有相同的签名.

它们被用于多种方式,其中之一:

DBContext.Users.Find(userid.Value); //userid being an int? (Nullable<int>)
Run Code Online (Sandbox Code Playgroud)

对我来说奇怪的是,它解决了第一次超载.

Q1:为什么这不会产生编译错误?

Q2:为什么C#编译器将上述调用解析为第一种方法?

编辑:只是为了澄清,这是C#4.0,.Net 4.0,Visual Studio 2010.

c# overloading params roslyn

23
推荐指数
3
解决办法
960
查看次数