gpt4 book ai didi

c# - 如何在C#中从函数中的while循环访问变量到函数外部?

转载 作者:行者123 更新时间:2023-12-03 03:36:35 24 4
gpt4 key购买 nike

我正在将遥测数据从模拟器设备发送到 Azure IoT 中心,并将该遥测数据接收到此代码中。

 namespace CentralSystem
{
internal class Program
{
static readonly string connectionString = "IoT Hub Connection string here";
static readonly string iotHubD2cEndpoint = "messages/events";
static EventHubClient eventHubClient;

public static Dictionary<string, string> values = new Dictionary<string, string>();

private static async Task ReceiveMessagesFromDeviceAsync(string partition, CancellationToken ct)
{
var eventHubReceiver = eventHubClient.GetDefaultConsumerGroup().CreateReceiver(partition, DateTime.UtcNow);
while (true)
{
if (ct.IsCancellationRequested) break;

EventData eventData = await eventHubReceiver.ReceiveAsync();
if (eventData == null) continue;

string data = Encoding.UTF8.GetString(eventData.GetBytes());
values = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
foreach (var kv in values)
{
Console.WriteLine(kv.Key + " : " + kv.Value);
}
Console.WriteLine();
}
}

上面的代码运行完美,但我需要在函数外部访问“data”变量意味着全局访问它。因为我需要将“data”变量中的所有值放入字典中。这样我就将字典声明为全局的。

请告诉我如何解决这个问题?

最佳答案

如果我理解正确的话。它不是存储在您的“值(value)观”字典中吗?

如果您只需要值:在函数上方创建字符串列表(如您的值):

List<string> listOfValues = new List<string>()

像字典一样执行此操作,但仅适用于值:

listOfValues.Add(Value)

在函数之后,用它做你想做的事情

关于c# - 如何在C#中从函数中的while循环访问变量到函数外部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73139931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com