Tag: C#的

void *是什么意思以及如何使用它?

今天当我读别人的代码时,我看到了像void *func(void* i); ,这个void*分别在函数名和variablestypes中是什么意思? 另外,我们什么时候需要使用这种指针以及如何使用它?

无法findpath的一部分… bin \ roslyn \ csc.exe

我想运行从TFS源代码pipe理检索到的Asp.net MVC项目。 我已经添加了所有的程序集引用,并且能够在没有任何错误或警告的情况下成功编译和编译。 但是在浏览器中出现以下错误: 无法findpath'C:\ B8akWorkspace \ B8akProject \ B8akSolution \ B8AK.Portal \ bin \ roslyn \ csc.exe'的一部分。 这里是错误页面的完整截图。 经过几天的研究,我明白了Roslyn是.Net编译器平台,它提供了先进的编译function。 但是,我不明白为什么我的版本试图find\ bin \ roslyn \ csc.exe,因为我没有configuration任何与Roslyn相关的东西,也不打算在我的项目中使用Roslyn。

如何在Dapper.Net中编写一对多的查询?

我写了这个代码来投影一对多的关系,但它不工作: using (var connection = new SqlConnection(connectionString)) { connection.Open(); IEnumerable<Store> stores = connection.Query<Store, IEnumerable<Employee>, Store> (@"Select Stores.Id as StoreId, Stores.Name, Employees.Id as EmployeeId, Employees.FirstName, Employees.LastName, Employees.StoreId from Store Stores INNER JOIN Employee Employees ON Stores.Id = Employees.StoreId", (a, s) => { a.Employees = s; return a; }, splitOn: "EmployeeId"); foreach (var store in stores) { […]

为什么我们复制然后移动?

我看到代码在某个地方有人决定复制一个对象,然后把它移动到一个类的数据成员。 这使我感到困惑,因为我认为整个移动的目的是避免复制。 这是一个例子: struct S { S(std::string str) : data(std::move(str)) {} }; 这是我的问题: 为什么我们不采取右值参考str ? 不会有一个副本是昂贵的,尤其是给一些像std::string ? 那么作者决定做一个副本然后呢是什么呢? 我应该什么时候自己做这个?

快速创build和播放声音

所以我想要做的就是快速创build和播放声音,当我按下button时,我知道如何在Objective-C中做到这一点,但有谁知道如何在Swift中? Objective-C就是这样: NSURL *soundURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"mysoundname" ofType:@"wav"]]; AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundURL, &mySound); 然后玩它,我会做的: AudioServicesPlaySystemSound(Explosion); 有谁知道我能做到这一点?

是否有任何理由在C ++ 03中使用“自动”关键字?

注意,这个问题最初是在2009年发布的,在C ++ 11被批准之前, auto关键字的含义被彻底改变之前。 所提供的答案仅适用于自动types的C ++ 03含义 – 即指定的存储类 – 而不是自动types推导的C ++ 11的含义。 如果您正在寻找有关何时使用C ++ 11 auto ,则此问题与此问题无关。 最长的时间我以为没有理由在C中使用static关键字,因为在块范围之外声明的variables是隐式的全局variables。 然后我发现在块范围内声明一个variables为static会给它一个永久的持续时间,并且在块范围外(在程序范围内)声明它会给它一个文件范围(只能在该编译单元中访问)。 所以这给我留下了只有一个我可能还没有完全理解的关键字: auto关键字。 除了“局部variables”还有其他一些含义吗? 它所做的任何事情都不是在你想要使用它的地方为你做的。 autovariables在程序范围中如何performance? 什么是文件范围内的static autovariables? 这个关键词除了完整性以外还有其他用途吗?

写入.txt文件?

我怎样才能把一小段文字写入.txt文件? 我一直在谷歌search超过3-4小时,但不知道如何做到这一点。 fwrite(); 有这么多的论点,我不知道如何使用它。 当你只想写一个名字和几个数字到一个.txt文件时,最简单的函数是什么? 编辑:添加了一段我的代码。 char name; int number; FILE *f; f = fopen("contacts.pcl", "a"); printf("\nNew contact name: "); scanf("%s", &name); printf("New contact number: "); scanf("%i", &number); fprintf(f, "%c\n[ %d ]\n\n", name, number); fclose(f);

如何存储可变参数模板?

是否有可能以某种方式存储参数包供以后使用? template <typename… T> class Action { private: std::function<void(T…)> f; T… args; // <— something like this public: Action(std::function<void(T…)> f, T… args) : f(f), args(args) {} void act(){ f(args); // <— such that this will be possible } } 接下来: void main(){ Action<int,int> add([](int x, int y){std::cout << (x+y);}, 3, 4); //… add.act(); }

连接器是做什么的?

我一直在想。 我知道编译器会将你编写的代码转换成二进制文件,但是连接器是做什么的? 他们一直是我的一个谜。 我大致了解“连接”是什么。 这是对库和框架的引用被添加到二进制文件。 除此之外,我什么都不明白。 对我来说,它“只是工作”。 我也理解dynamic链接的基础知识,但没有深入。 有人可以解释这些条款吗?

你能从SqlDataReader获得列名吗?

连接到数据库后,我可以得到在我的SqlDataReader中返回的所有列的名称?