gpt4 book ai didi

c# - 切换变量以供外部使用

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:47 25 4
gpt4 key购买 nike

目标

switch 中声明一些变量并在外部使用它。

问题

我不知道语法。

我在想什么

为了解决我的问题,我想做这样的事情,但行不通,因为它只是一种哲学:

public ActionResult Compare(int id, string orderBy)
{
var productsList = Products.BuildIndividualProductComparisonList(id);
var product = Products.BuildToCompare(id);


switch (orderBy)
{
case "lowestToBiggest":
var organizedProductsList =
productsList.OrderBy(x => x.minProductPrice);
break;
case "biggestToLowest":
var organizedProductsList =
productsList.OrderBy(x => x.maxProductPrice);
break;
default:
var organizedProductsList =
productsList.OrderBy(x => x.minProductPrice);
break;
}

ComparisonViewModel comparisonViewModel =
new ComparisonViewModel
{
Product = product,
ProductList = organizedProductsList
};

return View(comparisonViewModel);
}

聚光灯

这是我的原始 C# 代码,运行良好:

public ActionResult Compare(int id, string orderBy)
{
var productsList = Products.BuildIndividualProductComparisonList(id);
var product = Products.BuildToCompare(id);

ComparisonViewModel comparisonViewModel =
new ComparisonViewModel
{
Product = product,
ProductList = productsList
};

return View(comparisonViewModel);
}

问题

有人有办法解决我的问题吗?

最佳答案

Declare some variable within a switch and use it externally.

不能。范围内定义的变量仅在该范围内可见。

你必须在 switch 语句之外声明你的变量,然后你才能在外面使用它。

我看到您正在使用 var(隐式类型变量)并且您不能在 switch 语句之外声明它,(因为这需要被分配),你应该看到:Declaring an implicitly typed variable inside conditional scope and using it outsideanswer from Eric Lippert

关于c# - 切换变量以供外部使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17926279/

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