Tag: C#的

开源C#代码呈现波形?

有没有开源的C#代码或库提供一个字节数组的graphics波形?

C和Java中的逻辑差异

用C编译并运行这个代码 #include <stdio.h> int main() { int a[] = {10, 20, 30, 40, 50}; int index = 2; int i; a[index++] = index = index + 2; for(i = 0; i <= 4; i++) printf("%d\n", a[i]); } 输出: 10 20 4 40 50 现在在Java中相同的逻辑 class Check { public static void main(String[] ar) { int a[] […]

检查对象列表是否包含具有特定值的属性

说我有以下代码: class SampleClass { public int Id {get; set;} public int Name {get; set;} } List<SampleClass> myList = new List<SampleClass>(); //list is filled with objects … string nameToExtract = "test"; 所以我的问题是我可以使用什么List函数从myList提取具有与我的nameToExtractstring匹配的Name属性的对象。 如果这个问题真的很简单/明显,我很抱歉。

3D数组如何存储在C?

我知道C中的数组是按行优先顺序分配的。 因此,对于2 x 3arrays: 0 1 2 3 4 5 被存储在内存中 0 1 2 3 4 5 但是,如果我有一个2 x 3 x 2数组: 0 1 2 3 4 5 和 6 7 8 9 10 11 这些如何存储在内存中? 只是连续的像: 0 1 2 3 4 5 6 7 8 9 10 11 或者是其他方式? 还是取决于某些东西?

std :: sort检查一个向量是否已经sorting?

我相信std::sort的C ++标准不能保证已经sorting的列表上的O(n)性能。 但是,我仍然想知道在执行sortingalgorithm之前,是否对STL(GCC,MSVC等)的任何实现进行std::is_sorted检查? 问另一种方式,什么样的性能可以期望(当然没有保证)在一个已sorting的容器上运行std::sort ? 注意:我在博客上发布了 C ++ 0x的GCC 4.5的一些基准testing 。 结果如下:

内存stream和文件stream之间的区别

在序列化期间,我们可以使用内存stream或文件stream。 这两者之间的基本区别是什么? 记忆stream是什么意思? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization.Formatters.Binary; namespace Serilization { class Program { static void Main(string[] args) { MemoryStream aStream = new MemoryStream(); BinaryFormatter aBinaryFormat = new BinaryFormatter(); aBinaryFormat.Serialize(aStream, person); aStream.Close(); } } }

在C ++程序中暂停控制台

在C ++程序中暂停控制台的最佳方法是什么? 使用cin.get() 或使用system("pause") 或使用C函数,如getch()或getchar() ? system("pause")使用system("pause")导致非可移植代码并且不能在UNIX中工作是真的吗? cin.get()最好用来暂停控制台吗?

内联函数 – 与inline关键字完全相同的是什么?

在这个链接中 ,解释了什么是内联函数,什么是内联关键字。 我正在阅读,因为我意识到我从来没有理解这两个概念的含义,以及如何在实践中使用它们。 我从我提供的链接引用和评论 内联函数或内联variables(自C ++ 17以来)是具有以下属性的函数或variables(自C ++ 17以来): 1)只要每个定义出现在不同的翻译单元中,程序中可能有多个内联函数或variables(自C ++ 17以来)的定义。 例如,可以在包含在多个源文件中的头文件中定义内联函数或内联variables(因为C ++ 17)。 这里我已经理解了问题,声明就是新标识符的说明 void func(void); 而定义是包括实体在内的实际实现 void func(void) { //some code… } 1)意味着我可以给不同的实现,只要他们在不同的翻译单位(即每个源文件每头e一个实现),但我很困惑的情况下,我有一个源文件source.cc与一个func声明和一个头文件与另一个func声明的翻译单元是source.cc+header.h ,在这种情况下声明了两次func没有任何意义,对吗? 2)内联函数或variables(自C ++ 17以来)的定义必须存在于被访问的翻译单元中(不一定在访问点之前)。 这是通常的情况下,我把声明和头文件中的第一个分开,第二个是在源文件中,如果我需要使用函数,我只需要包含头部权限? 访问点将在链接阶段由源提供,是正确的? 3)具有外部链接(例如未声明为静态)的内联函数或variables(自C ++ 17以来)具有以下附加属性:1)必须在每个翻译单元中内联声明。 2)每个翻译单元都有相同的地址。 你能提供一个简单的例子吗? 我无法想象这种情况的实际情况。 情况3)指出,除非要声明的函数是静态的,否则关键字inline是强制性的。 我所说的一切到目前为止是正确的? 实际上,一个函数应该是内联的,当这样一个函数非常小的时候,但并不总是编译器会内联声明为内联的函数,例如,如果它有循环内部或recursion(Effective C ++ states)。 一般来说,这是编译器依赖,我现在奇迹… 假设我有两个函数,第一个函数是自包含的(它不会在内部调用任何其他函数),第二个函数是第一个函数(为了参数,您可以假设它们都是10行)。 他们是否应该在线声明? 他们应该在头文件中声明? 或者我应该分开头文件中的定义和源文件中的实现? 什么会更好? 编辑1 : 下面的答案之一是更好的,如果我通过例子工作,与相关的汇编代码分析。 我删除了以前的代码,因为它没有意义( -O3标志优化没有设置)。 […]

C ++ – char ** argv与char * argv

char** argv和char* argv[]什么区别? 在int main(int argc, char** argv)和int main(int argc, char* argv[]) ? 他们是一样的吗? 特别是第一部分没有[] 。

如果我在构造函数中写return语句呢?

如果我在构造函数中写return语句呢? 这是标准符合吗? struct A { A() { return; } }; 上面的代码编译得很好,在ideone没有任何错误。 但是下面的代码不会: struct A { A() { return 100; } }; 它在ideone提供这个错误: 错误:从构造函数中返回一个值 我明白,从构造函数返回的值根本没有意义,因为它没有明确提到返回types,我们毕竟不能存储返回的值。 但是我很想知道: C ++标准中哪个语句允许第一个例子,但禁止第二个例子? 有没有明确的说法? 第一个例子中的返回types是void吗? 是否有任何隐式返回types?