Tag: 逻辑

C#代码仅在步骤中给出预期结果?

好的,我有一个骰子扔应用程序… 当我逐步执行代码时,它正常运行,’结果’包含正确的投掷结果数,并且它们看起来是随机的,当我让代码运行并完全相同的事情它产生一组相同的数字。 我确信这是一个逻辑上的错误,我看不到,但摆弄它好几个小时都没有改善情况,所以任何帮助都很有帮助。 🙂 class Dice { public int[] Roll(int _throws, int _sides, int _count) { Random rnd = new Random(); int[] results = new int[_throws]; // for each set of dice to throw pass data to calculate method for (int i = 0; i < _throws; i++) { int thisThrow = Calculate(_sides, _count); //add […]

使用带有多个if语句的else C#

有没有办法快速检查以下逻辑? 我正在使用C#。 if(a) { } if(b) { } if(c) { } else none of the above //…? execute if all above conditions are false { } 这与使用if-else不同,因为a,b和c都可以同时为真。 所以我不能那样堆叠它们。 我想检查其他的a,b和c都是假的而不写if(!a && !b && !c) 。 这是因为当if条件变得更复杂时,代码会变得非常混乱。 它需要重写大量代码。 这可能吗?

C#和运营商澄清

我在这里看到了一些关于C#中&&和&运算符之间差异的问题,但我仍然对它的使用方式感到困惑,以及在不同情况下会产生什么结果。 例如,我只是在项目中瞥见了以下代码 bMyBoolean = Convert.ToBoolean(nMyInt & 1); bMyBoolean = Convert.ToBoolean(nMyInt & 2); 当它结果为0并且> 0时? 这个运营商背后的逻辑是什么? 运营商’|’之间有什么区别? bMyBoolean = Convert.ToBoolean(nMyInt | 1); bMyBoolean = Convert.ToBoolean(nMyInt | 2); 我们可以使用&&,|| 运算符并获得相同的结果(可能使用不同的代码)?

为什么这个DirectoryInfo比较不起作用?

可能重复: 如何检查2个DirectoryInfo对象是否指向同一目录? var dirUserSelected = new DirectoryInfo(Path.GetDirectoryName(“SOME PATH”)); var dirWorkingFolder = new DirectoryInfo(Path.GetDirectoryName(“SAME PATH AS ABOVE”)); if (dirUserSelected == dirWorkingFolder) { //this is skipped } if (dirUserSelected.Equals(dirWorkingFolder)) { //this is skipped } 在调试时,我可以检查每个中的值,它们是相等的。 所以我猜这是另一个byval byref误解……请有人,我该如何比较这两件事?

将可变大小的项目平衡为粗略平衡的集合的算法

我正在寻找一种算法,将不同大小的项目列表分成“N”个类似大小的组。 具体来说,我正在使用C#中的ASP.NET站点,其中有一个(数据库检索的)字符串列表。 琴弦的长度各不相同。 我有一组需要显示字符串的列。 我需要一种算法来找到最平衡的集合(项目顺序无关紧要),以允许最终的列尽可能平衡。 抽象示例: 创建3列。 要分发的项目: – Item A – height 5 – Item B – height 3 – Item C – height 7 – Item D – height 2 – Item E – height 3 期望的输出: Column 1: Item A, Item D Column 2: Item C Column 3: Item B, Item E

如何为我的坐标系获得“更薄”的图形?

接下来,我有一堆坐标,我将它们作为坐标系统绘制在位图图像上。 现在,我想摆脱所有的噪音,并过滤坐标,以提供“更清晰”或“更清洁”的路径和“更少”或“更好”的数据。 为了解释更多,我需要展示我的精彩 绘画技巧,如下所示: 当前: 期望: 注意: 我需要删除坐标 我可能需要添加坐标 在某些情况下,我可能需要忽略最短邻居 我唯一能想到的是使用最短路径算法,如A *和Dijkstra 。 并在某种数据结构中填充数据以包含每个节点的邻居和成本,然后执行该算法。 我不想开始一些可能错误或浪费的事情。 如果可能的话,我很想看到伪代码如何解决这样的问题 ? PS我目前正在使用Wpf C#,但我愿意使用C#或C ++来完成任何任务。 谢谢

是否有一种较少复杂的比较文件版本的方法?

我编写了一个函数来比较客户端当前拥有的文件版本和服务器上文件的最新版本。 客户端将“quad”(Major.Minor.Build.Private)版本号作为字符串传递给服务器,然后服务器使用FileVersionInfo: // clientFileVersion will be in “quad” format, a la “3.1.4.1” private bool ServerFileIsNewer(string clientFileVersion, FileVersionInfo serverFile) { // Don’t say I never learned nuthin’ from Steve McConnell const int MAJOR_INDEX = 0; const int MINOR_INDEX = 1; const int BUILD_INDEX = 2; const int PRIVATE_INDEX = 3; string[] versionStrArray = clientFileVersion.Split(‘.’); int FileMajorPartClient; […]

最佳resize和/或裁剪逻辑

我曾经遇到过这几次,并认为把它放在那里会很好。 什么是你最好的图像resize和/或裁剪逻辑。 想法是使用目标图像,尺寸和裁剪标记调用某些方法 – 这将返回或保存或任何所需图像。 我的下面。 从VB转换为C#所以是的,会有小错误,但逻辑是我们正在看的。 // INIT // On/off bool WeAreCropping = true; // Get some dimensions int TargetWidth = RequestedWidth; int TargetHeight = RequestedHeight; int SourceWidth = SourceImage.Width; int SourceHeight = SourceImage.Height; int ResizeWidth = TargetWidth; int ResizeHeight = TargetHeight; // GET RESIZE VALUES // Are we cropping? if (WeAreCropping) { // […]

多个条件语句的AND / OR(&& / ||)逻辑

如果在C#中有if语句,则检查多个条件: if (a == 5 && b == 9) { … } 如果== 5条件为假, b == 9是否仍会被检查,或者它是否会自动退出,因为这种情况再也无法通过了? 同样,对于OR if语句: if (a == 5 || b == 9) { … } 如果== 5为真, b == 9仍然会被检查吗?

如何使用LINQ从一组数字中查找n个项目的所有组合?

我正在尝试编写一种算法来从一组数字中选择n个值的所有组合。 例如,给定集合: 1, 2, 3, 7, 8, 9 该组中2个值的所有组合为: (1,2),(1,3),(1,7),(1,8),(1,9),(2,3),(2,7),(2,8),(2) ,9),(3,7),(3,8),(3,9),(7,8),(7,9),(8,9) 3是: (1,2,3),(1,2,7),(1,2,8),(1,2,9),(1,3,7),(1,3,8),(1) ,3,9),(1,7,8),(1,7,9),(1,8,9),(2,3,7),(2,3,8),(2,3) ,(2),(2,7,8),(2,7,9),(2,8,9),(3,7,8),(3,7,9),(3,8,9) ),(7,8,9) 等等! 我目前正在使用方法来产生2,3和4值组合的返回集,但在我看来,这可以在LINQ查询中推广。 谢谢你的帮助!