在C#中进行不规则计算时,会发生什么情况?

在C#中进行不规则计算时,会发生什么情况?,c#,math,C#,Math,我目前正在实现一个函数绘图仪,到目前为止,我已经完成了所有工作,除了我必须进行不规则计算的情况,例如1/(x-2),x=2 目前,我的代码如下所示(当然是简化的): for(int i=minxvalue;i您的计算可能会返回一个而不是一个数字 可能需要更多的代码来查看发生了什么,但下面是MSDN文档:您的计算可能会返回一个而不是一个数字 可能需要更多的代码来查看发生了什么,但下面是MSDN文档:但必须有一个返回值,对吗?-否。对于Sqrt(-2),将有一个for除以零和一个NaN这也是。实际上

我目前正在实现一个函数绘图仪,到目前为止,我已经完成了所有工作,除了我必须进行不规则计算的情况,例如
1/(x-2)
x=2

目前,我的代码如下所示(当然是简化的):


for(int i=minxvalue;i您的计算可能会返回一个
而不是一个数字


可能需要更多的代码来查看发生了什么,但下面是MSDN文档:

您的计算可能会返回一个
而不是一个数字


可能需要更多的代码来查看发生了什么,但下面是MSDN文档:

但必须有一个返回值,对吗?
-否。对于
Sqrt(-2),将有一个for除以零和一个
NaN
这也是。实际上,对于
1/0
之类的操作,将出现
DivisionByZeroException
。我假设您的
ParseFunction
在某个地方包含一个try-catch块,它会吞噬异常。从我的代码中可以看出,不会出现异常。当在项目中,它打印的是
未定义的
,而不是数字,但没有引发任何异常。“未定义”不是.NET中数字解析的合法结果。您的项目中必须有代码进行转换/格式化。它可能不完全是
未定义的
,因为VS2013是用我的母语(德语)设置的我刚刚将输出翻译成英语。无论如何,Noctis的答案已经帮了我很大的忙,thx。
但是必须有一个返回值,对吗?
-不。对于
Sqrt(-2),将有一个for除以零和一个
NaN
这也是。实际上,对于
1/0
之类的操作,将出现
DivisionByZeroException
。我假设您的
ParseFunction
在某个地方包含一个try-catch块,它会吞噬异常。从我的代码中可以看出,不会出现异常。当在项目中,它打印的是
未定义的
,而不是数字,但没有引发任何异常。“未定义”不是.NET中数字解析的合法结果。您的项目中必须有代码进行转换/格式化。它可能不完全是
未定义的
,因为VS2013是用我的母语(德语)设置的我刚刚把输出翻译成英语。无论如何,Noctis answer已经帮了我很大的忙了,thx。可能就是这样。我会在打印
y
时解释控制台输出。我会检查这个,谢谢。可能就是这样。我会在打印
y
时解释控制台输出。我会检查这个,谢谢。
for(int i = minxvalue; i <= maxxvalue; i++) {
    double y = ParseFunction(functionstring); //Parses the given string containing the user-entered function and returns the resulting y-value as double
    coordinatelist.Add(new Coordinate(i, y);}//Saves the value-pair to a list with all valid points of the function-graph