小编Dre*_*kes的帖子

std :: map emplace没有复制值

C++ 11 std::map<K,V>类型具有一个emplace函数,许多其他容器也是如此.

std::map<int,std::string> m;

std::string val {"hello"};

m.emplace(1, val);
Run Code Online (Sandbox Code Playgroud)

此代码的工作方式与宣传的一样,std::pair<K,V>直接安排,但它会产生副本keyval发生.

是否可以将值类型直接置于地图中?我们能比调用中的参数更好emplace吗?


这是一个更彻底的例子:

struct Foo
{
   Foo(double d, string s) {}
   Foo(const Foo&) = delete;
   Foo(Foo&&) = delete;
}

map<int,Foo> m;
m.emplace(1, 2.3, string("hello")); // invalid
Run Code Online (Sandbox Code Playgroud)

c++ dictionary stl c++11 emplace

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

多行C#插值字符串文字

C#6为内插字符串文字带来了编译器支持,语法如下:

var person = new { Name = "Bob" };

string s = $"Hello, {person.Name}.";
Run Code Online (Sandbox Code Playgroud)

这对于短字符串很有用,但是如果要生成更长的字符串,必须在一行中指定它吗?

使用其他类型的字符串,您可以:

    var multi1 = string.Format(@"Height: {0}
Width: {1}
Background: {2}",
        height,
        width,
        background);
Run Code Online (Sandbox Code Playgroud)

要么:

var multi2 = string.Format(
    "Height: {1}{0}" +
    "Width: {2}{0}" +
    "Background: {3}",
    Environment.NewLine,
    height,
    width,
    background);
Run Code Online (Sandbox Code Playgroud)

我无法找到一种方法来实现这一点,使用字符串插值,而不是只有一行:

var multi3 = $"Height: {height}{Environment.NewLine}Width: {width}{Environment.NewLine}Background: {background}";
Run Code Online (Sandbox Code Playgroud)

我意识到在这种情况下你可以用来\r\n代替Environment.NewLine(不太便携),或者把它拉到本地,但是有些情况下你不能将它减少到一行以下而不会失去语义强度.

是不是字符串插值不应该用于长字符串?

我们应该使用StringBuilder更长的字符串吗?

var multi4 = new StringBuilder()
    .AppendFormat("Width: {0}", width).AppendLine()
    .AppendFormat("Height: {0}", height).AppendLine()
    .AppendFormat("Background: {0}", background).AppendLine()
    .ToString();
Run Code Online (Sandbox Code Playgroud)

还是有更优雅的东西?

.net c# string multiline string-interpolation

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

不同控制器上的.NET MVC调用方法

任何人都可以告诉我如何在动作方法中调用不同控制器上的方法吗?我不想重定向.我想在不同的控制器上调用一个方法,该控制器返回一个字符串并在我的action方法中使用响应.

.net asp.net-mvc action

47
推荐指数
5
解决办法
8万
查看次数

WPF BooleanToVisibilityConverter在false时转换为Hidden而不是Collapsed?

有没有办法使用现有的WPF BooleanToVisibilityConverter转换器但是将False值转换为Hidden而不是默认的Collapsed,或者我应该自己编写?我正在进行一个项目,在这个项目中,做这样简单的事情会带来巨大的开销(共享的东西进入一个单独的解决方案,而重建/签入/合并过程是一个过度生长的变异庞然大物的过程),所以我更愿意,如果我可以将参数传递给现有参数,而不是跳过刚才提到的箍.

.net data-binding wpf ivalueconverter

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

用于新HTML5输入类型的ASP.NET MVC HTML帮助程序方法

HTML5似乎支持一系列新的输入字段,例如:

  • 数字
  • 电子邮件地址
  • 颜色
  • 网址
  • 数字范围(通过滑块)
  • 日期
  • 搜索框

有没有HtmlHelper人为ASP.NET MVC实现生成这些的扩展方法呢?可以使用接受的重载来执行此操作htmlAttributes,例如:

Html.TextBoxFor(model => model.Foo, new { type="number", min="0", max="100" })
Run Code Online (Sandbox Code Playgroud)

但那并不像以下那样好(或类型安全):

Html.NumericInputFor(model => model.Foo, min:0, max:100)
Run Code Online (Sandbox Code Playgroud)

.net asp.net-mvc html5 html-helper html-input

47
推荐指数
5
解决办法
7万
查看次数

有没有办法在JavaScript中读取二进制数据?

我想将二进制数据注入到JavaScript中的对象中.有没有办法做到这一点?

var binObj = new BinaryObject('101010100101011');
Run Code Online (Sandbox Code Playgroud)

这样的效果.任何帮助都会很棒.

javascript binary

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

适用于ASP.NET MVC应用程序的最佳OpenId API

我正在开发一个ASP.NET MVC应用程序,我想使用OpenId.

什么是最好的选择?

  • DotNetOpenId
  • RPX
  • 其他???

有谁知道StackOverflow使用什么?Login UI是自定义开发的,还是由API /服务提供的?

openid asp.net-mvc

46
推荐指数
2
解决办法
7498
查看次数

在什么情况下,冻结WPF对象会大大提高性能?

WPF中的许多类型都源于Freezable.它为可变POCO对象提供了不变性,并且显然可以在某些情况下提高性能.

有没有人发现在他们的WPF应用程序中冻结对象大大提高了性能?如果是这样,那么哪些项目在冻结时会产生最大的性能差异?

(请注意,我也发布了类似但不同的问题)

wpf performance freeze freezable

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

什么是underscore.js相当于LINQ的SelectMany运算符?

想象一下,我有一个嵌套的数组结构.

var nested = [ [1], [2], [3] ];
Run Code Online (Sandbox Code Playgroud)

使用underscore.js,我将如何生成扁平数组?

在C#中你会这样使用Enumerable.SelectMany:

var flattened = nested.SelectMany(item => item);
Run Code Online (Sandbox Code Playgroud)

请注意,在这种情况下,lambda直接选择嵌套项,但它可以是任意表达式.

在jQuery中,可以使用:

var flattened = $.map(nested, function(item) { return item; });
Run Code Online (Sandbox Code Playgroud)

但是这种方法不适用于下划线的map函数.

那么我如何[1, 2, 3]使用underscore.js 获得扁平化数组呢?

javascript linq underscore.js

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

ASP.NET网格视图与列表视图

使用listview而不是gridview有什么好处?我需要分页,编辑行,插入行和删除视图中的行.哪种控制最适合?看起来GridView不支持数据寻呼机.如果我将网格视图迁移到listviews,我会牺牲什么?

.net asp.net listview gridview

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