我正在开发一个扩展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) 我想尝试将日期时间转换为字符串并返回,但要使其适用于所有文化.
我基本上有一个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)
现在我的问题:
我希望你能帮助我.我实际上没有电脑来测试不同的文化,所以我非常害怕我做错了什么.
我有以下问题,我无法弄清楚它来自哪里.我非常感谢你的帮助.
代码:
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#/ .NET还是相当陌生,我对项目依赖有一些疑问。
第一:我的情况。我有一个解决方案-我们称之为MyLibrary-其中有几个.dll-Output项目。这些项目相互依赖(作为项目引用),还依赖于某些外部库(.dll参考)。我确保该项目引用了外部引用的特定副本。
现在,我有了第二个解决方案-MyApplication-该解决方案具有上面的某些Library-Projects和其他项目。因此,我所有自己的项目都互相引用了iva项目参考。我已经使用参考设置“ Copy Local:True”设置了所有项目。
我的问题现在是,MyApplication引发一个错误,指出一个库项目具有不同的版本-这很奇怪,因为如果我构建MyApplication,它应该构建所有必需的项目。
我现在的问题:
谢谢四位的帮助。
PS:我来自德国,我有一本有关C#的“伽利略”书,其中涉及的主题不是很好。是否有一些与Visual Studio的项目管理功能直接相关的优秀教程/书籍?