【问题标题】:How to use user input stored as a variable in another method如何在另一种方法中使用存储为变量的用户输入
【发布时间】:2020-02-08 21:23:03
【问题描述】:

我的工作有一个使用数据库(mongodB)来存储数据的应用程序。我想在程序完成安装后更改该数据。但是用户在安装应用程序之前设置了这个。

我有一个功能要求用户输入然后安装应用程序,另一个功能是在应用程序完成安装后更改 mongodB。

我的问题是我的 'change mongo' 函数说变量在当前上下文中不存在。

如何将 console.readline() 的结果存储在函数 A 内的变量中,并使用该变量连接函数 B 内的字符串??

public static void downloadAndInstall37CineAgent()
{
    Console.Write("Enter Path to Cert: ");
    string certPath = Console.ReadLine();
    Console.Write("Enter Password to Cert: ");
    string certPass = Console.ReadLine();

    Console.Write("Network Manager Host: ");
    var HostName = Console.ReadLine();

    Console.Write("Streaming Engine Host Name: ");
    var streamName = Console.ReadLine();
    changeMongo();
}

public static void changeMongo()
{
    var client = new MongoClient("mongodb://localhost:27017");
    IMongoDatabase db = client.GetDatabase("CineNetGlobalSettings");
    var collection = db.GetCollection<BsonDocument>("CineNetSettings");

    var filter = Builders<BsonDocument>.Filter.Eq("_id", "NetworkManagerHost");
    var update = Builders<BsonDocument>.Update.Set("Value", hostname);
    var filterUrl = Builders<BsonDocument>.Filter.Eq("_id", "NetworkManagerUrl");
    var updateUrl = Builders<BsonDocument>.Update.Set("Value", hostname);
    var filterStream = Builders<BsonDocument>.Filter.Eq("_id", "WowzaIpAddress");
    var updateStream = Builders<BsonDocument>.Update.Set("Value", streamName);
}

【问题讨论】:

    标签: c# mongodb variables concatenation user-input


    【解决方案1】:

    变量只能在定义它们的上下文中访问。

    除非您将变量定义为全局变量,否则来自一个方法的这些变量不会传递到下一个方法或返回到调用方法,除非您正确传递或返回这些变量。

    对于您的项目,您需要更改方法以及调用方式,

    public static void changeMongo(string hostname, string streamName)
    

    并且您将更新您正在进行的调用以包含两个参数,

    changeMongo(Hostname, streamName);
    

    本质上,您正在调用changeMongo 并传递将在该方法中使用的两个值。请注意,变量的名称绑定到函数内初始化的变量的名称。 changeMongo 函数具有 hostName 而不是 HostName(这是 downloadAndInstall37CineAgent 方法的一部分)。主机名被转换为主机名,因为那是 changeMongo 方法的“第一个”参数。

    【讨论】:

      猜你喜欢
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 2014-03-28
      • 2018-08-25
      相关资源
      最近更新 更多