小编eca*_*ver的帖子

在python中创建列表的最佳和/或最快方法

在python中,据我所知,至少有3到4种方法来创建和初始化给定大小的列表:

简单循环append:

my_list = []
for i in range(50):
    my_list.append(0)
Run Code Online (Sandbox Code Playgroud)

简单循环+=:

my_list = []
for i in range(50):
    my_list += [0]
Run Code Online (Sandbox Code Playgroud)

列表理解:

my_list = [0 for i in range(50)]
Run Code Online (Sandbox Code Playgroud)

列表和整数乘法:

my_list = [0] * 50
Run Code Online (Sandbox Code Playgroud)

在这些例子中,我认为只有列表只有50个元素会有任何性能差异,但如果我需要一个包含一百万个元素的列表呢?使用xrange会有什么改进吗?哪个是在python中创建和初始化列表的首选/最快方法?

python list

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

具有多个路由值的Url.Action助手的问题

我目前正在VS2010中开发一个ASP.NET MVC3应用程序,而且我在使用@Url.Action帮助器时遇到了一些麻烦.我有一个ajax请求,我使用这个帮助器:

var url = '@Url.Action("Action", "Controler", new { a = "a", b = "b" })';
$.post(url).success(function(data) { 
    ... 
});
Run Code Online (Sandbox Code Playgroud)

问题是url此后的值是/Controller/Action?a=a&b=b,注意&路由值之间的值.这不起作用,但如果我这样做:

var url = '@Url.Action("Action", "Controler", new { a = "a", b = "b" })'.replace('amp;', '');
Run Code Online (Sandbox Code Playgroud)

它完美地工作!

我的行动是这样的:

public JsonResult Action(string a, string b) 
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我已经调试我的应用程序和动作被调用,甚至a就是"a",不过bnull.

这是期望的行为Url.Action吗?我不这么认为.请帮帮我,我做错了什么?我应该在Url.Action通话中添加其他参数吗?提前致谢.

url asp.net-mvc query-string razor asp.net-mvc-3

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

参考C#中的参考?

众所周知,C#classes对象被视为引用,那么当您将引用对象作为对方法的引用传递时会发生什么?说我们有:

public class A { ... }
Run Code Online (Sandbox Code Playgroud)

然后:

public void F(ref A a) { ... }
Run Code Online (Sandbox Code Playgroud)

编译器是否发现它a已经是一个引用类型并保持这种方式,或者他创建了一个对该对象的新引用?

如果我们有这样的事情怎么办:

public void F(ref A a)
{
    F(ref a);
}
Run Code Online (Sandbox Code Playgroud)

在这段代码中,除了显而易见之外StackOverflowException,编译器是否创建了对引用的引用...以引用a哪个是引用对象?

c# reference reference-type

11
推荐指数
2
解决办法
3230
查看次数

实现具有冲突方法签名的接口的类

假设我们有两个具有冲突方法签名的接口:

interface IA
{
    void F();
}

interface IB
{
    int F();
}
Run Code Online (Sandbox Code Playgroud)

现在我们创建一个这样的类:

class Test : IA, IB
{
    public void F() { ... }
    int IB.F() { ... }
}
Run Code Online (Sandbox Code Playgroud)

名为的方法IB.F看起来像一个private方法,但是你可以这样做:

var t = new Test();
t.F();       //Calls public method F
((IB)t).F(); //Calls private method IB.F!!!
Run Code Online (Sandbox Code Playgroud)

所以我的问题是: C#编译器如何知道IB.F可以在类范围之外调用?

我猜这是IB.前缀,但查看IL代码,它只是作为一个private奇怪的签名方法出现.

c# clr interface

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

在特定时间运行Laravel Task

我在SO看到了一些类似的问题,但没有一个人回答过我.我之前从未听说过CRON,而且我是Laravel的新手.我需要的是每周运行一次Task来对我的数据库(MySql)执行一些操作,比如每个星期天凌晨12:00.我怎么能实现这个目标?

cron task laravel

5
推荐指数
1
解决办法
6346
查看次数

django中的MVC模式

这个问题已经折磨了我一段时间了.我已经读过这个话题,但似乎没有什么能清楚我的想法.我知道他们称视图模板和模型模型,我真正得到的不是控制器所在的位置.django称之为视图的东西在我看来更像是控制器的动作/方法/功能而不是控制器本身,但在我读到的任何地方,我发现假定的视图控制器等效.

我之前使用过MVC框架(ASP.NET MVC3,Ruby on Rails,PHP Laravel Framework),它们都将控制器定义为同一个东西:一堆与网站特定主题相关的功能,即用户帐户或类似的东西.我在这个描述和django功能之间找到的最好的等价物是应用程序,但当然我错了,因为大量的人和文档走向另一个方向.

有人可以帮帮我吗?我的心态是否有意义?我是否遗漏了必要的东西,然后我无法理解这些概念?

django model-view-controller

5
推荐指数
2
解决办法
2437
查看次数

(407)需要代理身份验证(ISA Server需要授权才能完成请求.拒绝访问Web代理筛选器.)

当我的应用程序尝试与Web服务通信时,我收到错误

(407)需要代理身份验证(ISA Server需要授权才能完成请求.拒绝访问Web代理筛选器.)

我看了几个主题,但我无法理解.我正在使用VB.net

vb.net proxy web-services

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

星号运算符(*)应用于列表和整数

假设我们有一个Foo类,我们想要实例化一个列表foos,我们可以这样做:

foo_list = [Foo()] * 3
Run Code Online (Sandbox Code Playgroud)

现在怎么办foo_list[0].x = 5?该声明将属性设置x所有列表里面的实例!

当我发现它时,它引起了我的注意.问题是当我们创建这样的列表时,显然python将Foo首先创建实例,然后是列表实例,然后将相同的对象追加到它3次,但我真的希望它能做到这样的事情:

foo_list = [Foo() for i in range(3)]
Run Code Online (Sandbox Code Playgroud)

你也不是吗?嗯,现在我知道这个语法糖绝对不能用,因为我想用它,但那么,它用于什么?我唯一能想到的是创建一个像这样的初始大小的列表:list = [None] * 5对于我来说,在python的情况下这对我来说没有多大意义.

这个语法有没有其他真正有用的用例?

python python-2.7

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

C#中的泛型是否与C++中的相同?

我知道在C++中,泛型实际上并不存在,但你可以使用它来模拟它template.构建代码时,编译器预处理代码并生成一个新代码,其中通用值替换为对象声明中指定的实际值,然后是真正编译的新代码.例如,假设我们有A如下类:

template<class T>
class A
{
    T f();
};
Run Code Online (Sandbox Code Playgroud)

然后在我们的代码中的其他地方A<int> a;.编译的实际代码是:

class A
{
    //Replaces T by int in the pre-processing
    int f();
};
Run Code Online (Sandbox Code Playgroud)

在整个介绍之后,让我们谈谈.

我的问题是:

  • C#是否像C++一样对待泛型?如果没有,那怎么样?
  • 他们是特殊类型吗?
  • 它们是在运行时还是在编译时解决的?
  • 激活寄存器中的泛型类型保留了多少空间?

c# c++ generics

0
推荐指数
1
解决办法
190
查看次数