Я пишу немного C# в математике. Многие строки последовательно используют множество абс(), min(), max(), sqrt() и т. Д. Использование C# является обычным обычным способом, я должен предисловие каждой функции с помощью «Math». НапримерКак избежать «математики». перед каждой математической функцией в C#?
double x = Math.Min(1+Math.Sqrt(A+Math.Max(B1,B2)),
Math.Min(Math.Cos(Z1),Math.Cos(Z2)));
Я предпочел бы написать код, как и в C:
double x = min(1+sqrt(A+max(B1,B2)), min(cos(Z1), cos(Z2)));
Это легче читать и выглядит более естественно, ученых и инженеров. Обычный C# способ скрывает хорошие бит в тумане «Math».
Есть ли способ в C# для этого?
Через некоторое Googling я нашел пример, который привел меня попробовать
using min = Math.Min;
...
double x = min(a,b);
но «используя» заявление выдал ошибку «System.Math.Min (десятичную, десятичное) представляет собой метод, но используется как тип », но в остальном это выглядело как хорошее решение. (Что такое «десятичный», так или иначе?)
«более естественно для ученых и инженеров», да, но это выглядит неестественно для программистов на C#. –
До тех пор пока C# 6 не будет иметь ['using' статические члены] (https://roslyn.codeplex.com/wikipage?title=Language%20Feature%20Status&referringTitle=Documentation), вы не сможете этого сделать. –
Вы не сможете это сделать до тех пор, пока C# 6 не отправится: http://davefancher.com/2014/08/07/c-6-0-using-static/. Вы * можете * писать свои собственные методы-оболочки для статических методов 'Math'. Ни один из примеров не является тем, что я бы назвал естественным или читаемым. –