Tag: C#的

如何判断一个点是在一条线的右边还是左边

我有一套要点。 我想把它们分成两个不同的集合。 要做到这一点,我select了两个点( a和b ),并在它们之间画一条想象的线。 现在我想把这一行中的所有点都放在一个集合中,而那些在这一行中正确的点集合在另一个集合中。 我怎么能告诉任何给定的点z是在左边还是在右边呢? 我试图计算azb之间的angular度 – 小于180的angular度在右侧,在左侧大于180 – 但是由于ArcCos的定义,计算的angular度始终小于180°。 是否有一个公式来计算angular度大于180°(或任何其他公式select正确或左侧)?

WPF vs Winforms的.Net新手

我很新的微软.Net框架我的问题是: 学习Winforms或WPF更容易和更快?

为什么要创buildasynchronousWebAPI操作而不是同步?

我在创build的Web API中执行以下操作: // GET api/<controller> [HttpGet] [Route("pharmacies/{pharmacyId}/page/{page}/{filter?}")] public CartTotalsDTO GetProductsWithHistory(Guid pharmacyId, int page, string filter = null ,[FromUri] bool refresh = false) { return delegateHelper.GetProductsWithHistory(CustomerContext.Current.GetContactById(pharmacyId), refresh); } 对这个web服务的调用是通过一个jQuery的Ajax调用完成的: $.ajax({ url: "/api/products/pharmacies/<%# Farmacia.PrimaryKeyId.Value.ToString() %>/page/" + vm.currentPage() + "/" + filter, type: "GET", dataType: "json", success: function (result) { vm.items([]); var data = result.Products; vm.totalUnits(result.TotalUnits); } }); […]

评论界面,实施还是两者?

我想我们都(当我们可以被打扰!)评论我们的接口。 例如 /// <summary> /// Foo Interface /// </summary> public interface Foo { /// <summary> /// Will 'bar' /// </summary> /// <param name="wibble">Wibble factor</param> void Bar(string wibble); } 你也评论实施(也可能提供给客户,例如作为一个图书馆的一部分)? 如果是的话,你如何pipe理保持两个同步? 或者你只是添加一个“查看接口的文档”评论? 谢谢

我应该通过const参考传递一个std ::函数吗?

比方说,我有一个函数,它需要一个std::function : void callFunction(std::function<void()> x) { x(); } 我应该通过由const参考x ? void callFunction(const std::function<void()>& x) { x(); } 这个问题的答案是否会根据函数做什么而改变? 例如,如果它是一个类成员函数或构造函数,它将std::function存储或初始化为成员variables。

如果你static_cast无效的值枚举类会发生什么?

考虑一下这个C ++ 11代码: enum class Color : char { red = 0x1, yellow = 0x2 } // … char *data = ReadFile(); Color color = static_cast<Color>(data[0]); 假设数据[0]实际上是100.什么是根据标准设置的颜色? 特别是,如果我稍后做 switch (color) { // … red and yellow cases omitted default: // handle error break; } 标准保证默认会被打中吗? 如果没有,那么在这里检查错误的适当,最有效,最优雅的方法是什么? 编辑: 作为一个奖励,标准是否作出这方面的保证,但明确枚举?

GetType()可以说谎?

基于前几天在SO: GetType()和多态性问题中提到的以下问题,并且阅读Eric Lippert的答案,我开始思考如果使GetType()不是虚拟的,确实确保对象不能关于其Type 。 具体而言,埃里克的回答说明如下: 框架devise者不会添加一个令人难以置信的危险特性,例如只允许一个对象关于它的types撒谎,只是为了使它与同一types的另外三个方法一致。 现在的问题是:我可以做一个对它的types谎言,而不是立即明显的对象? 在这里我可能会出现严重的错误,如果情况确实如此,我很乐意澄清,但请考虑以下代码: public interface IFoo { Type GetType(); } 以下两个接口的实现: public class BadFoo : IFoo { Type IFoo.GetType() { return typeof(int); } } public class NiceFoo : IFoo { } 那么如果你运行以下简单的程序: static void Main(string[] args) { IFoo badFoo = new BadFoo(); IFoo niceFoo = new NiceFoo(); Console.WriteLine("BadFoo says he's […]

C ++中的朋友声明 – 公共和私人之间的区别

有人告诉我,在class级的公共或私人领域宣布一个朋友class是有区别的,但我似乎无法find关于这个在线的任何东西,我不知道他们知道他们在说什么。 我的意思是区别: class A { public: friend class B; }; 和 class A { private: //or nothing as the default is private friend class B; }; 有区别吗?

KeyValuePair VS DictionaryEntry

KeyValuePair是通用版本和DictionaryEntry之间的区别是什么? 为什么在genericsDictionary类中使用KeyValuePair而不是DictionaryEntry?

为什么sizeof int是错误的,而sizeof(int)是正确的?

我们知道sizeof是用于计算任何数据types和expression式大小的运算符,而当操作数是expression式时,括号可以省略。 int main() { int a; sizeof int; sizeof( int ); sizeof a; sizeof( a ); return 0; } sizeof的第一个用法是错误的,而其他的则是正确的。 当它使用gcc编译时,会出现以下错误信息: main.c:5:9: error: expected expression before 'int' 我的问题是为什么C标准不允许这种操作。 sizeof int会导致任何歧义?