Tag: C#的

哪个devise是最可取的:test-create,try-create,create-catch?

我们假设有一个操作可以创build一个用户。 如果指定的电子邮件地址或用户名称存在 如果失败了,就需要知道原因。 我看到这样做有三种方法,我想知道是否有明确的赢家。 所以,这里是一个类的用户: class User { public string Email { get; set; } public string UserName { get; set; } } 创build操作有三种方式: testing创build if (UserExists(user)) act on user exists error; if (UsernameExists(user)) act on username exists error; CreateUser(user); UserExists和UsernameExists请求数据库服务器进行validation。 这些调用在CreateUser中再次重复,以确保API正确使用。 在validation失败的情况下,我在这两种情况下抛出ArgumentOutOfRangeException。 所以有一个性能问题。 尝试-创build enum CreateUserResultCode { Success, UserAlreadyExists, UsernameAlreadyExists } if (!TryCreate(user, out […]

C ++有哪些参数parsing器库?

我想以下列方式将parameter passing给我的C ++程序: ./myprog –setting=value 有什么图书馆能帮我轻松做到吗? 另请参见C和Unix的参数parsing助手

从数组中获取generics枚举器

在C#中,如何获得给定数组的generics枚举? 在下面的代码中, MyArray是一个MyType对象的数组。 我想以所示的方式获得MyIEnumerator ,但似乎我得到一个空的枚举(虽然我已经证实MyArray.Length > 0 )。 MyType [ ] MyArray = … ; IEnumerator<MyType> MyIEnumerator = ( MyArray.GetEnumerator() as IEnumerator<MyType> ) ;

微软Web Api返回一个文件? 使用byte ?

我正在使用ASP.NET Web API 。 我想从API(即API生成)用C#下载PDF。 我可以只有API返回一个byte[] ? 而对于C#应用程序,我可以做: byte[] pdf = client.DownloadData("urlToAPI");? 和 File.WriteAllBytes()?

在Uri中replace主机

使用.NETreplaceUri的主机部分的最好方法是什么? 即: string ReplaceHost(string original, string newHostName); //… string s = ReplaceHost("http://oldhostname/index.html", "newhostname"); Assert.AreEqual("http://newhostname/index.html", s); //… string s = ReplaceHost("http://user:pass@oldhostname/index.html", "newhostname"); Assert.AreEqual("http://user:pass@newhostname/index.html", s); //… string s = ReplaceHost("ftp://user:pass@oldhostname", "newhostname"); Assert.AreEqual("ftp://user:pass@newhostname", s); //etc. System.Uri似乎没有什么帮助。

C#的部分类是不好的devise?

我想知道为什么“部分类”的概念甚至存在于C#/ VB.NET中。 我正在编写一个应用程序,我们正在阅读与我们正在实施的开发平台有关的(实际上是非常好的)一本书。 在本书中,作者提供了一个关于平台API的大型代码库/包装器,并解释了他在教授关于平台开发的不同主题时如何开发它。 无论如何,长话短说 – 他在整个地方使用部分类,以此来伪造C#(IMO)中的多重inheritance。 他为什么不把课程分成多个class,用作文是超越我的。 他将有3个“部分类”文件来构成他的基类,每个文件都有3-500行代码……并且在他的API中多次执行。 你觉得这是合理的吗? 如果是我,我会遵循SRP并创build多个类来处理不同的所需行为,然后创build一个基类,并将这些类的实例作为成员(例如组合)。 为什么MS甚至把部分类放入框架? 他们删除了在C#中每个范围级别展开/折叠所有代码的能力(这在C ++中是允许的),因为显然只是允许不好的习惯 – 部分类别是IMO。 我想我的问题是:你可以向我解释什么时候会有一个合理的理由来使用部分类? 编辑:我知道,对于Web / WinForms没有其他select。 但在这之外呢? 为什么没有MS只是把一些不同的关键字粘在代码生成的类中? 还是真的有一个合理的devisescheme是值得的吗? 我不是说这是一个咆哮/战争线程。 我真的很想在这里学习一些东西。 什么时候应该在代码devise中使用部分类? 简单的问题,不需要closures 谢谢

等待一个无效的asynchronous方法

我如何等待一个void async方法来完成它的工作? 例如,我有一个像这样的function: async void LoadBlahBlah() { await blah(); … } 现在我想确保一切都已经加载之前,继续在别的地方。

python? (条件/三元)操作员的作业

C和许多其他语言都有一个有条件的(aka三元)运算符。 这使您可以基于条件的真实性在两个值之间做出非常简洁的select,这使得expression式(包括赋值)非常简洁。 我错过了这个,因为我发现我的代码有很多条件分配,在Python中占用四行: if condition: var = something else: var = something_else 而在C它会是: var = condition? something: something_else; 一个文件中有一两次是好的,但是如果你有很多的条件赋值,那么行数会爆炸,最糟糕的是,眼睛被吸引到它们。 我喜欢条件运算符的简洁性,因为它使我认为不具战略性的东西在浏览代码时分散注意力。 那么,在Python中,是否有任何技巧可以用来将任务分配到单个线上,以近似我描述的条件运算符的优点?

用翻译复制内存的快速方法 – ARGB到BGR

概观 我有一个图像缓冲区,我需要转换为另一种格式。 原始图像缓冲区是四个通道,每个通道8位,Alpha,Red,Green和Blue。 目标缓冲区是三个通道,每个通道8位,蓝色,绿色和红色。 所以powershell方法是: // Assume a 32 x 32 pixel image #define IMAGESIZE (32*32) typedef struct{ UInt8 Alpha; UInt8 Red; UInt8 Green; UInt8 Blue; } ARGB; typedef struct{ UInt8 Blue; UInt8 Green; UInt8 Red; } BGR; ARGB orig[IMAGESIZE]; BGR dest[IMAGESIZE]; for(x = 0; x < IMAGESIZE; x++) { dest[x].Red = orig[x].Red; dest[x].Green = […]

在LINQ中升序/降序 – 可以通过参数更改顺序吗?

我有一个方法是给出参数“布尔sortAscending”。 现在我想用LINQ根据这个参数创buildsorting列表。 我那时是这样的: var ascendingQuery = from data in dataList orderby data.Property ascending select data; var descendingQuery = from data in dataList orderby data.Property descending select data; 正如你所看到的,这两个查询只有在“升序”和resp。 “降”。 我想合并这两个查询,但我不知道如何。 有没有人有答案?