小编gli*_*ite的帖子

如果它比C++慢,你为什么要使用C#?

我正在寻找一种在C++和Java之后学习的新语言.我打算尝试使用C#,但是很多人说它真的很慢,因为它是一种高级语言.那么为什么有人会使用C#?C++不是更快吗?它是否使开发更容易,但最终产品更慢?

另外,C#可以用于什么?你在Windows上使用它和很多.NET的东西,以及ASP.NET,但是在其他情况下,人们会使用C#?会有很多就业机会吗?

c# c++ performance

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

常见谎言?(因为const可以被抛弃)

可能重复:
卖给我关于const的正确性

关键字的用处是什么const,C或者C++因为它允许这样的事情?

void const_is_a_lie(const int* n)
{ 
    *((int*) n) = 0;
}

int main()
{
    int n = 1;
    const_is_a_lie(&n);
    printf("%d", n);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:0

很明显,const不能保证论证的不可修改性.

c c++ const

26
推荐指数
3
解决办法
1535
查看次数

DataContext和绑定self作为RelativeSource

有人能解释我下面的XAML系列吗?

DataContext="{Binding RelativeSource={RelativeSource Self}}"
Run Code Online (Sandbox Code Playgroud)

这里是简单的使用示例.

如何用C#代码替换该行?

c# data-binding datacontext xaml

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

在lambda表达式中调用方法

我想在lambda表达式中调用我的类的方法:

void my_class::my_method(my_obj& obj)
{
}


void my_class::test_lambda()
{ 
   std::list<my_obj> my_list;

   std::for_each(my_list.begin(), my_list.end(), [](my_obj& obj)
   {
      // Here I want to call my_method:
      // my_method(obj);
   });
}
Run Code Online (Sandbox Code Playgroud)

我能怎么做?

c++ lambda c++11

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

CLR与OCaml异常开销

阅读开始F# - 罗伯特皮克林我专注于以下段落:

来自OCaml背景的程序员在使用F#中的异常时应该小心.由于CLR的体系结构,抛出异常非常昂贵 - 比OCaml昂贵得多.如果您抛出大量异常,请仔细分析您的代码,以确定性能成本是否值得.如果成本太高,请适当修改代码.

为什么,因为CLR,抛出异常F#比如果更加昂贵OCaml?在这种情况下,适当修改代码的最佳方法是什么?

clr f# ocaml exception

13
推荐指数
3
解决办法
763
查看次数

如何提高Canvas渲染性能?

作为[Canvas] [2]的孩子,我必须绘制很多形状(大约半数十万).我在我的WPF应用程序中将这项工作分为两部分:首先我通过设置每个属性(如边距,填充,宽度等等)来创建形状,然后我将形状添加为Canvas的子项.

MyCanvas.Children.Add(MyShape)
Run Code Online (Sandbox Code Playgroud)

现在我想提高第二部分的性能,因为当我绘制形状时,我的应用程序被封锁了很长一段时间.所以我尝试使用Dispatcher及其方法[BeginInvoke] [4]与不同的[优先级] [5]:只有当我使用后台优先级时,主应用程序才会阻止,否则应用程序仍然被阻止,"图片"是直到所有形状都添加到我的画布中才会显示,但如果我使用背景优先级,显然一切都会变慢.我也试图创建一个新的线程,而不是使用Dispatcher,但没有重大的变化.

如何解决这个问题,并在将形状添加到Canvas时通常可以提高应用程序的性能?

谢谢.

wpf performance rendering canvas shape

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

从DataGrid中选择DataGridCell

我有一个DataGridWPF控件,我想得到一个特定的DataGridCell.我知道行和列索引.我怎样才能做到这一点?

我需要,DataGridCell因为我必须能够访问其内容.因此,如果我有(例如)一列DataGridTextColum,我的内容将是一个TextBlock对象.

.net c# wpf wpfdatagrid datagridcell

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

如何将 Diesel 与 SQLite 连接一起使用并避免“数据库被锁定”类型的错误

在我的 Rust 应用程序中,我Diesel用来与SQLite数据库进行交互。我有多个线程可以同时查询数据库,我正在使用 crater2d2创建一个连接池。

我看到的问题是我无法同时查询数据库。如果我尝试这样做,我总是得到错误database is locked,这是不可恢复的(即使只有一个线程正在查询,任何后续请求也会因相同的错误而失败)。

以下代码重现了该问题。

# Cargo.toml
[dependencies]
crossbeam = { version = "0.7.1" }
diesel = { version = "1.4.2", features = ["sqlite", "r2d2"] }
Run Code Online (Sandbox Code Playgroud)
-- The database table
CREATE TABLE users (
    name TEXT PRIMARY KEY NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
#[macro_use]
extern crate diesel;

mod schema;

use crate::schema::*;
use crossbeam;
use diesel::r2d2::{ConnectionManager, Pool};
use diesel::RunQueryDsl;
use diesel::{ExpressionMethods, SqliteConnection};

#[derive(Insertable, Queryable, Debug, Clone)]
#[table_name = "users"]
struct User { …
Run Code Online (Sandbox Code Playgroud)

database sqlite multithreading locking rust

10
推荐指数
1
解决办法
3300
查看次数

如何显示Windows图元文件?

我需要使用WPF 显示Windows图元文件(EMF),我该怎么办?

编辑:

我要保持基于图像矢量.

.net c# wpf metafile .emf

9
推荐指数
2
解决办法
8034
查看次数

C++/CLI可选参数

为什么我不能为托管类型或泛型函数的成员函数声明默认参数?C# 4.0引入了命名和可选参数 ; 还有类似的东西CLI吗?

我不明白为什么不可能声明这样的方法:

void Optional(int argument = 0);
Run Code Online (Sandbox Code Playgroud)

然后,当我打电话Optional();,编译器不翻译此电话为:Optional(0);.

c++-cli optional-parameters

8
推荐指数
1
解决办法
6765
查看次数