Tag: C#的

当你在C ++中释放两次或更多的指针时会发生什么?

int main(){ Employee *e = new Employee(); delete e; delete e; … delete e; return 0; }

从“用扩展方法表示的LINQ查询嵌套”

我怎样才能写这个LINQ查询通过使用扩展方法的语法? var query = from a in sequenceA from b in sequenceB select …;

获取串行端口信息

我有一些代码将串行端口加载到combobox中: List<String> tList = new List<String>(); comboBoxComPort.Items.Clear(); foreach (string s in SerialPort.GetPortNames()) { tList.Add(s); } tList.Sort(); comboBoxComPort.Items.Add("Select COM port…"); comboBoxComPort.Items.AddRange(tList.ToArray()); comboBoxComPort.SelectedIndex = 0; 我想添加端口描述(类似于在设备pipe理器中显示的COM端口)到列表中,并对索引0之后的列表中的项进行sorting (解决方法:参见上面的代码片段)。 有没有人有任何build议添加端口描述? 我正在使用Microsoft Visual C#2008速成版(.NET 2.0)。 任何想法,你可能会感激。 谢谢。

是否有一个Windows相当于HANDLE的fdopen?

在Unix中,如果你有一个文件描述符(例如从一个套接字,pipe道或从你的父进程inheritance),你可以用fdopen(3)打开一个缓冲的I / O FILE*stream。 在Windows上是否有相同的HANDLE ? 如果你有一个从你的父进程(与stdin,stdout或stderr不同)inheritance的HANDLE或CreatePipe一个pipe道,是否有可能从它获得缓冲的FILE*stream? MSDN不logging_fdopen ,但是与_open返回的整型文件描述符一起使用,而不是genericsHANDLE 。

如何通过绑定在canvas中显示项目

我有使用数据绑定在Canvas中显示的项目列表。 ItemsToShowInCanvas = new ObservableCollection<ItemDetail> { new ItemDetail {Text = "ABC", Top = 10, Left = 200}, new ItemDetail {Text = "DEF", Top = 100, Left = 300}, new ItemDetail {Text = "PQR", Top = 50, Left = 150} }; ItemDetail是一个简单的类,具有Text,Top和Left值的自动属性 public class ItemDetail { public string Text { get; set; } public double Top […]

实体或复杂types''不能在LINQ to Entities查询中构造

可能重复: 实体不能在LINQ to Entities查询中构造 var tasks = from i in data.Incidents join a in data.Accounts on i.CustomerID equals a.Acct_CID select new Tasks() { creator_id = a.ID, start_date = i.DateOpened, end_date = i.DateCLosed, product_code = i.ProductCode, install_type = i.InstallType, os = i.OSType, details = i.Description, solution = i.Solution, creator_name = i.TechID, category = i.Title, text = […]

sprintf()与自动内存分配?

我正在寻找一个sprintf() – 类似于自动分配所需内存的函数的实现。 所以我想说 char* my_str = dynamic_sprintf( "Hello %s, this is a %.*s nice %05d string", a, b, c, d ); 并且my_str检索保存了sprintf()结果的分配内存的地址。 在另一个论坛上,我读到这样可以解决这个问题: #include <stdlib.h> #include <stdio.h> #include <string.h> int main() { char* ret; char* a = "Hello"; char* b = "World"; int c = 123; int numbytes; numbytes = sprintf( (char*)NULL, "%s %d […]

如何重写List <T>在C#中的Add方法?

我目前正在寻找自己的collections,这将像一个常规列表,除了它只能容纳10个项目。 如果在列表中已经有10个项目时添加项目,则在添加新项目之前,第一个项目将被删除。 我想要做的是创build一个扩展System.Collections.Generic.List<T>的类,然后修改Add(T item)方法以包含删除第一个项目的function(如有必要)。

C:for循环int初始声明

有人可以详细解释下面的gcc错误吗? $ gcc -o Ctutorial/temptable.out temptable.c temptable.c: In function 'main': temptable.c:5: error: 'for' loop initial declaration used outside C99 mode temptable.c: … /* print Fahrenheit-Celsius Table */ main() { for(int i = 0; i <= 300; i += 20) { printf("F=%d C=%d\n",i, (i-32) / 9); } } PS:我依稀记得, int i应该在for循环之前声明。 我应该说,我正在寻找一个给出C标准历史背景的答案。

对静态成员的未定义引用

我正在使用交叉编译器。 我的代码是: class WindowsTimer{ public: WindowsTimer(){ _frequency.QuadPart = 0ull; } private: static LARGE_INTEGER _frequency; }; 我得到以下错误: 对“WindowsTimer :: _频率”的未定义引用 我也试图改变它 LARGE_INTEGER _frequency.QuadPart = 0ull; 要么 static LARGE_INTEGER _frequency.QuadPart = 0ull; 但我仍然收到错误。 有谁知道为什么?