Tag: C#的

如何使用C#中的WebClient发布数据到特定的URL

我需要在WebClient中使用“HTTP Post”将一些数据发布到我拥有的特定URL。 现在,我知道这可以用WebRequest完成,但由于某些原因,我想使用WebClient。 那可能吗? 如果是的话,有人可以给我一些例子或指向正确的方向吗?

在objective-c中,问号和冒号(?:三元运算符)是什么意思?

这一行代码是什么意思? label.frame = (inPseudoEditMode) ? kLabelIndentedRect : kLabelRect; 这个? 和:迷惑我。

LINQ – stream利和查询expression式 – 有没有比其他的好处?

自从generics以来,LINQ是对.NET最大的改进之一,它节省了大量的时间和代码。 然而,stream畅的语法似乎比查询expression式语法更加自然。 var title = entries.Where(e => e.Approved) .OrderBy(e => e.Rating).Select(e => e.Title) .FirstOrDefault(); var query = (from e in entries where e.Approved orderby e.Rating select e.Title).FirstOrDefault(); 两者之间有什么区别,还是比其他人有什么特别的好处呢?

父母退出后如何让孩subprocess死亡?

假设我有一个产生一个subprocess的进程。 现在,当父进程出于任何原因(通常或exception,通过kill,^ C,声明失败或其他),父进程退出,我希望subprocess死亡。 如何正确地做到这一点? 一些类似的问题在stackoverflow: (之前问过) 当父进程执行时,如何导致subprocess退出? (稍后问) 是否使用fork()创build的subprocess在父进程被终止时自动终止? Windows上的一些类似的问题在stackoverflow: 如何在Windows中自动销毁subprocess? 当父进程被终止时,终止subprocess

C ++虚拟/纯虚拟解释

如果一个函数被定义为虚拟的并且与纯虚拟相同,究竟意味着什么呢?

如何将stream保存到C#文件中?

我有一个StreamReader对象,我初始化一个stream,现在我想保存这个stream到磁盘(该stream可能是.gif或.jpg或.pdf )。 现有代码: StreamReader sr = new StreamReader(myOtherObject.InputStream); 我需要将其保存到磁盘(我有文件名)。 将来,我可能希望将其存储到SQL Server。 我也有编码types,如果我将它存储到SQL Server,我将需要正确的?

push_back vs emplace_back

我有点困惑push_back和emplace_back之间的区别。 void emplace_back(Type&& _Val); void push_back(const Type& _Val); void push_back(Type&& _Val); 由于有一个push_back超载取右值引用,我不明白emplace_back的目的是什么?

你如何按价值sorting词典?

我经常不得不按照价值来整理由键和值组成的字典。 例如,我有一个单词和各自的频率散列,我想按频率sorting。 有一个SortedList对单个值(比如说频率)很有用,我想把它映射回单词。 SortedDictionary按键sorting ,不是值。 有人诉诸自定义课程 ,但有一个更清洁的方式?

独特()与lambda?

对,所以我有一个枚举,并希望从它得到不同的价值。 使用System.Linq ,当然有一个名为Distinct的扩展方法。 在简单情况下,它可以使用没有参数,如: var distinctValues = myStringList.Distinct(); 那么好,但如果我有我需要指定相等的对象的枚举,唯一可用的重载是: var distinctValues = myCustomerList.Distinct(someEqualityComparer); 相等比较器参数必须是IEqualityComparer<T>一个实例。 当然,我可以做到这一点,但是有点冗长,而且很有趣。 我所期望的是一个需要lambda的重载,比如Func <T,T,bool>: var distinctValues = myCustomerList.Distinct((c1, c2) => c1.CustomerId == c2.CustomerId); 任何人都知道,如果这样的扩展存在,或一些等效的解决方法? 还是我错过了什么? 另外,有没有一种方法来指定一个IEqualityComparer内联(不容我)? 更新 我发现Anders Hejlsberg在MSDN论坛上发布了一个关于这个主题的post。 他说: 你将遇到的问题是,当两个对象比较相等时,它们必须具有相同的GetHashCode返回值(否则Distinct内部使用的哈希表将无法正常工作)。 我们使用IEqualityComparer,因为它将Equals和GetHashCode的兼容实现打包到一个接口中。 我想这是有道理的..

当你在malloc之后没有自由时真的会发生什么?

这已经困扰了我很多年了。 我们都在学校教书(至less,我是),你必须释放每一个分配的指针。 不过,对于没有释放内存的真正代价,我有些好奇。 在一些明显的情况下,例如malloc在循环或线程执行的一部分中被调用时,释放非常重要,所以没有内存泄漏。 但是请考虑以下两个示例: 首先,如果我有这样的代码: int main() { char *a = malloc(1024); /* Do some arbitrary stuff with 'a' (no alloc functions) */ return 0; } 这里真正的结果是什么? 我的想法是,这个过程死了,然后堆空间已经消失了,所以没有任何伤害,错过了free的呼吁(但是,我确实认识到无论如何,closures,可维护性和良好的做法的重要性)。 我对这个想法是否正确? 其次,让我们说我有一个程序,有点像一个壳。 用户可以声明像aaa = 123这样的variables,并将这些variables存储在某些dynamic数据结构中供以后使用。 很显然,你会使用一些解决scheme来调用一些* alloc函数(hashmap,链表,类似的东西)。 对于这种types的程序,在调用malloc之后永远不会释放,因为这些variables必须在程序执行期间一直存在,并且没有什么好的方法(我可以看到)使用静态分配的空间来实现这一点。 有一堆分配的内存,但只作为过程结束的一部分被释放,这是不好的devise吗? 如果是的话,还有什么select?