小编S. *_*ter的帖子

Math.Pow的最佳实践

我正在开发一个扩展OpenCV,HALCON,...的图像处理库.该库必须与.NET Framework 3.5一起使用,并且由于我对.NET的经验有限,我想问一些有关性能的问题.

我遇到了一些我无法正确解释的具体事情,并希望你问a)为什么和b)处理案件的最佳做法是什么.

我的第一个问题是关于Math.pow.我已经在StackOverflow上找到了一些答案,这很好地解释了它(a)但不知道如何处理(b).我的基准程序看起来像这样

Stopwatch watch = new Stopwatch();  // from the Diagnostics class
watch.Start();
for (int i = 0; i < 1000000; i++)
    double result = Math.Pow(4,7)   // the function call
watch.Stop()
Run Code Online (Sandbox Code Playgroud)

结果不是很好(在我的电脑上约300毫秒)(我已经运行了10次测试并计算了平均值).

我的第一个想法是检查这是因为它是一个静态功能.所以我实现了自己的课程

class MyMath
{
    public static double Pow (double x, double y)   //Using some expensive functions to calculate the power
    {
        return Math.Exp(Math.Log(x) * y);
    }

    public static double PowLoop (double x, int y)  // Using Loop
    {
        double res = x;
        for(int i = …
Run Code Online (Sandbox Code Playgroud)

.net c# pow

7
推荐指数
2
解决办法
5883
查看次数

如何使DateTime独立于当前的文化?

我想尝试将日期时间转换为字符串并返回,但要使其适用于所有文化.

我基本上有一个Textbox(tbDateTime)和一个标签(lbDateTime).标签告诉用户软件期望输入tbDateTime的格式.Textbox的输入将用于MySQL命令.

目前它的工作原理如下:

lbDateTime.Text = "DD.MM.YYYY hh:mm:ss";   // I live in germany
DateTime date = Convert.ToDateTime(tbDateTime.Text);
String filter = date.ToString("yyyy-MM-dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)

现在我的问题:

  • 是否可以根据当前文化确定lbDateTime.Text的格式字符串?
  • Convert.ToDateTime函数使用哪种格式?

我希望你能帮助我.我实际上没有电脑来测试不同的文化,所以我非常害怕我做错了什么.

c# datetime cultureinfo

5
推荐指数
2
解决办法
1万
查看次数

list.Sort ArgumentException错误:IComparer不返回0(null)

我有以下问题,我无法弄清楚它来自哪里.我非常感谢你的帮助.

代码:

List<Point> lst = new List<Point>();
lst.Add(new Point(0, -2));
lst.Add(new Point(-1, -2));

lst.Sort(delegate (Point x,Point y)
{
    if (x.X == 0)
        return -1;
    else if (y.X == 0)
        return 1;
    else
    {
        double retVal1 = x.Y * 1.0 / -x.X;
        double retVal2 = y.Y * 1.0 / -y.X;
        int retVal = -Math.Sign(retVal1 - retVal2);
        return retVal;
    }
});
Run Code Online (Sandbox Code Playgroud)

如果执行,我收到一个ArgumentException,说IComparer没有返回0(null).但是,除了-1,0和1之外,它实际上不能返回任何其他内容,或者?

非常感谢您的帮助!

啊,顺便说一句,我使用的是.NET 3.5

c# c#-3.0

4
推荐指数
1
解决办法
1959
查看次数

观察带有传递项目依赖项的构建?

您好:)我对C#/ .NET还是相当陌生,我对项目依赖有一些疑问。

第一:我的情况。我有一个解决方案-我们称之为MyLibrary-其中有几个.dll-Output项目。这些项目相互依赖(作为项目引用),还依赖于某些外部库(.dll参考)。我确保该项目引用了外部引用的特定副本。

现在,我有了第二个解决方案-MyApplication-该解决方案具有上面的某些Library-Projects和其他项目。因此,我所有自己的项目都互相引用了iva项目参考。我已经使用参考设置“ Copy Local:True”设置了所有项目。

我的问题现在是,MyApplication引发一个错误,指出一个库项目具有不同的版本-这很奇怪,因为如果我构建MyApplication,它应该构建所有必需的项目。

我现在的问题:

  • 如果我有依赖于项目B的项目C,而项目B又依赖项目A,则即使项目C不使用项目A中的任何类型,我也需要引用项目C中的项目A。是否有解决方法?
  • 我可以得到一个干净的输出日志,其中指出了何时构建哪个项目吗?从Visual Studio输出日志中,我很难区别项目是“重建”还是刚刚复制到目标文件夹
  • 是否有工具可以读取* .sln或* .csproj文件并直接向我显示哪个程序集引用哪个程序集?
  • 正如我所说,我已经在MyApplication中包含MyLibrary的几个项目,并将MyApplication中MainProject的引用设置为“ Copy Local:True”。如果我清理MyApplication(解决方案),它将从MyLibrary-Destination-Folder中删除所有* .dll。我可以以某种方式抑制这种行为(它应该只从MyApplication-destination-folder中删除* .dll)。

谢谢四位的帮助。

PS:我来自德国,我有一本有关C#的“伽利略”书,其中涉及的主题不是很好。是否有一些与Visual Studio的项目管理功能直接相关的优秀教程/书籍?

.net c#

3
推荐指数
1
解决办法
1489
查看次数

标签 统计

c# ×4

.net ×2

c#-3.0 ×1

cultureinfo ×1

datetime ×1

pow ×1