函数套用,怎么在别的函数中用这个函数中的值 或者是怎么把一个值升级成全局变量

刚开始学函数,用得有点乱。不知道该填啥了
double e2 = GetE2();这括号里边让我添东西但是不知道改填啥。还有就是程序还有啥可以改进的地方吗,刚开始学习,请指教


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BLH__XYZ
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请选择椭球类型:");
            Console.WriteLine("如果为克拉索夫斯基椭球请输入1");
            Console.WriteLine("如果为IAG-75椭球请输入2");
            Console.WriteLine("如果为WGS-84椭球请输入3");
            Console.WriteLine("如果为CGCS2000椭球请输入4");
            string tuoqiu1 = Console.ReadLine();
            int temp = int.Parse(tuoqiu1);

            Console.WriteLine(tuoqiu(temp));

            double f = tuoqiu(temp);
            double e2 = GetE2(f);

            Console.WriteLine("请输入纬度,空一格输入经度,在空一格输入大地高");
            string str = Console.ReadLine();
            string[] str2 = str.Split(' ');
            double B = double.Parse(str2[0]);
            double L = double.Parse(str2[1]);
            double H = double.Parse(str2[2]);
            double X, Y, Z; 
            BLH2XYZ(B, L, H, out X, out Y, out Z);
            Console.WriteLine("X={0,12:F3},Y={1,12:F3},Z={2,12:F3}", X, Y, Z);
            Console.Read();
        }
        public static double tuoqiu(int temp)
        {        
            double f=0;
            switch (temp)
            {
                case 1: f = 1 / 298.3; break;
                case 2: f = 1 / 298.257; break;
                case 3: f = 1 / 298.257223563; break;
                case 4: f = 1 / 298.257222101; break;
            }
            return f;
 
        }
        /// <summary>
        /// 计算e平方的值
        /// </summary>
        /// <returns>e的平方</returns>
        public static double GetE2(double f)
        {
            
            double e2 = 2 * f - f * f;
            return e2;
        }
        /// <summary>
        /// 计算椭球面卯酉圈的曲率半径
        /// </summary>
        /// <param name="B">纬度(以弧度为单位)</param>
        /// <returns>椭球面卯酉圈的曲率半径</returns>
        public static double GetN(double B)
        {
            double e2 = GetE2();
            double a = 6378137;//椭球长半轴
            double sinB = Math.Sin(B);
            double N = a / Math.Sqrt(1 - e2 * sinB * sinB);
            return N;
        }
        /// <summary>
        /// 参心大地坐标转换为参心空间直角坐标(BLH-->XYZ)
        /// </summary>
        /// <param name="B">纬度(以弧度为单位)</param>
        /// <param name="L">经度(以弧度为单位)</param>
        /// <param name="H">大地高(以米为单位)</param>
        /// <param name="X">X分量(以米为单位)</param>
        /// <param name="Y">Y分量(以米为单位)</param>
        /// <param name="Z">Z分量(以米为单位)</param>
        public static void BLH2XYZ(double B, double L, double H, out double X, out double Y, out double Z)
        {
            B = dmsrad(B);
            L = dmsrad(L);
            double e2 = GetE2();
            double N = GetN(B);
            X = (N + H) * Math.Cos(B) * Math.Cos(L);
            Y = (N + H) * Math.Cos(B) * Math.Sin(L);
            Z = (N * (1 - e2) + H) * Math.Sin(B);
        }
        /// <summary>
        ///  度分秒转换
        /// </summary>
        /// <param name="B">角度</param>
        /// <returns>弧度</returns>
        public static double dmsrad(double B)
        {
            double temp = B;
            double DD, MM, SS;
            DD = Math.Floor(temp);
            MM = Math.Floor((temp - DD) * 100);
            SS = (temp * 100 - Math.Floor(temp * 100)) * 100;
            temp = DD + MM / 60 + SS / 3600;
            double rad = temp * Math.PI / 180;
            return rad;

        }

    }
}

GetE2函数不是有一个参数吗,你必须指定啊,根据具体情况用

        public static double GetE2(double f)
        {
            
            double e2 = 2 * f - f * f;
            return e2;
        }

你这公式里面的f就是你需要传的值,通过f计算出e2