小编sha*_*oth的帖子

如何解释未知行为以了解所有新手?

有一些情况,C++标准将其定义为未定义的行为.例如,如果我分配new[],然后尝试释放delete(不delete[])那是未定义的行为 - 任何事情都可能发生 - 它可能会起作用,它可能会崩溃,它可能会默默地破坏某些东西并设置一个定时问题.

解释这一点很有问题,新手可能会发生任何事情.他们开始"证明""这是有效的"(因为它确实适用于他们使用的C++实现),并询问"这可能是什么问题"?我能给出什么简洁的解释会激励他们不写这样的代码?

c++ undefined-behavior

35
推荐指数
5
解决办法
1639
查看次数

如何将MVC操作参数重新映射到另一个参数名称?

我必须实现一个像这样调用的MVC动作:

http://address/Controller/MyAction?resName=name
Run Code Online (Sandbox Code Playgroud)

它由硬编码传递的第三方调用resName.所以天真的方式是做这样的动作:

ActionResult MyAction( String resName )
{
Run Code Online (Sandbox Code Playgroud)

但我认为有一个名为resNameuncool 的参数,我更喜欢它的名字resourceName.如果我只是重命名参数MVC参数映射不再有效,我总是resourceName设置null为调用我的操作.

我试过BindAttribute这样的:

ActionResult MyAction( [Bind(Include="resName")] String resourceName )
Run Code Online (Sandbox Code Playgroud)

但每次调用我的动作时resourceName仍然如此null.

如何重新映射我的参数名称?

.net c# asp.net-mvc-3

35
推荐指数
2
解决办法
9655
查看次数

Process.Dispose()实际上做了什么?

在C#中class Process继承了class Component该实现IDisposable,因此我可以调用Dispose()任何Process对象.我真的需要吗?我怎么知道我是否真的需要?

假设我有以下代码:

 var allProcesses = System.Diagnostics.Process.GetProcesses();
 var processesNames = processes.Select( p => p.ProcessName );
 // output process names here
Run Code Online (Sandbox Code Playgroud)

现在看起来我有一个Process对象数组,我已经设计了try-finally遍历数组和Dispose()每个对象.这肯定是很多额外的代码.

Dispose()Process物体有什么作用?我是否真的需要Dispose()每个Process对象,我如何决定是否需要这样做?

.net c# idisposable

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

在链接文本中使用HTML元素创建ActionLink

在ASP.NET MVC视图中,我想要包含以下形式的链接:

<a href="blah">Link text <span>with further descriptive text</span></a>
Run Code Online (Sandbox Code Playgroud)

试图将<span>元素包含在linkText调用字段中以Html.ActionLink()最终编码(如预期的那样).

有没有推荐的方法来实现这一目标?

asp.net-mvc actionlink

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

什么是在C++中默认初始化的基本类型?

当我使用初始化列表时:

struct Struct {
    Struct() : memberVariable() {}
    int memberVariable;
};
Run Code Online (Sandbox Code Playgroud)

基本类型(int,bool,float,enum,指针)成员变量是默认-initialied.是实现定义的值还是所有实现都相同?

c++ initialization

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

C#:如何将null传递给期望ref的函数?

我有以下功能:

public static extern uint FILES_GetMemoryMapping(
    [MarshalAs(UnmanagedType.LPStr)] string pPathFile,
    out ushort Size,
    [MarshalAs(UnmanagedType.LPStr)] string MapName,
    out ushort PacketSize,
    ref Mapping oMapping,
    out byte PagesPerSector);
Run Code Online (Sandbox Code Playgroud)

我想这样称呼:

FILES_GetMemoryMapping(MapFile, out size, MapName,
    out PacketSize, null, out PagePerSector);
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法传递null一个需要类型的字段ref Mapping而且没有投射我已经尝试修复此问题.

有什么建议?

c# parameters null pinvoke ref

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

为什么默认情况下不允许GET请求返回JSON?

作为ASP.NET MVC 2 Beta 2更新的一部分,默认情况下不允许JSON GET请求.看来您需要在从控制器返回对象之前将JsonRequestBehavior字段设置为.JsonRequestBehavior.AllowGetJsonResult

public JsonResult IsEmailValid(...)
{
    JsonResult result = new JsonResult();

    result.Data = ..... ;
    result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;

    return result;
}
Run Code Online (Sandbox Code Playgroud)

这背后的原因是什么?如果我使用JSON GET尝试进行远程验证,我应该使用不同的技术吗?

asp.net asp.net-mvc json

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

在EF 4.1 DbContext中如何跟踪生成的SQL

我想知道如何在LinqToSql中跟踪生成的SQL,如DataContext.

我还在Jaroslaw Kowalski的博客上阅读了有关EFProviderWrapper解决方案的文章,但它基于ObjectContext,不适用于DbContext.

任何人都知道如何在DbContext中执行此操作?

谢谢.

sql logging trace entity-framework-4 entity-framework-4.1

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

我可以在C++中撤消"using namespace"的效果吗?

using namespace不使用命名空间限定符的情况下,我可以直接看到该命名空间的全部内容.如果using namespace在广泛使用的头文件中发生这可能会导致问题- 我们可能无意中使两个具有相同类名称的名称空间可见,并且编译器将拒绝编译,除非类名称前缀为名称空间限定符.

我可以撤消,using namespace以便编译器忘记它之前看到它吗?

c++ namespaces using

31
推荐指数
3
解决办法
5932
查看次数

C#中<>的意义

我正在学习C#并抓住了一段我不理解的代码.我希望你能为我清除它.

CreateCustomerTask.<>c__DisplayClass0 cDisplayClass0 =
         new CreateCustomerTask.<>c__DisplayClass0();
Run Code Online (Sandbox Code Playgroud)

<>意味着什么?为什么.前面有一个(点)?

.net c# class

31
推荐指数
3
解决办法
7398
查看次数