小编sma*_*k91的帖子

如何在 ForEach-Object -Parallel 中传递自定义函数

我找不到传递函数的方法。只是变数。

没有将函数放在 ForEach 循环中的任何想法?

function CustomFunction {
    Param (
        $A
    )
    Write-Host $A
}

$List = "Apple", "Banana", "Grape" 
$List | ForEach-Object -Parallel {
    Write-Host $using:CustomFunction $_
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

powershell powershell-core

12
推荐指数
2
解决办法
3204
查看次数

如何使用LINQ用Dictionary填充类

在我的项目中,我使用XML来导入类的各种实例.我需要在List中导入.问题是如何在Dictionary中导入所有"dynamicDrop":

XML:

<LootProfile name="volpeNormale">
    <dynamicDropNumber>3</dynamicDropNumber>
    <dynamicDrop>70</dynamicDrop>
    <dynamicDrop>40</dynamicDrop>
    <dynamicDrop>10</dynamicDrop>
    <dynamicTypeArmor>33</dynamicTypeArmor>
    <dynamicTypeWeapon>33</dynamicTypeWeapon>
    <dynamicTypeConsumable>34</dynamicTypeConsumable>
    <dynamicRarityCommon>70</dynamicRarityCommon>
    <dynamicRarityUncommon>20</dynamicRarityUncommon>
    <dynamicRarityRare>8</dynamicRarityRare>
    <dynamicRarityEpic>2</dynamicRarityEpic>
    <staticDropNumber>2</staticDropNumber>
    <staticDrop idPattern="100">60</staticDrop>
    <staticDrop idPattern="145">100</staticDrop>
    <faction>All</faction>
    <location>All</location>
</LootProfile>
Run Code Online (Sandbox Code Playgroud)

XMLImporter查询:

var query = from item in xml.Root.Elements("LootProfile")
            select new LootProfile()
            {
                name = (string)item.Attribute("name"),
                dynamicDropNumber = (int)item.Element("dynamicDropNumber"),
                dynamicDrop = (Dictionary<int,string>)item.Element("dynamicDrop) //this one doesnt work!
                //other element....
            }
return query.ToList<LootProfile>();
Run Code Online (Sandbox Code Playgroud)

c# linq unity-game-engine

4
推荐指数
1
解决办法
206
查看次数

实例变量同名但基于切换结果的类型不同的最佳方法是什么

显然,由于compareItem变量的多个声明,以下代码是错误的.但是为了理解这是我希望这个代码工作的方式.

switch (objectType)
        {
            case "Armor":
                Item compareItem = player.armor;
                break;
            case "Shield":
                Item compareItem = player.shield;
                break;
            case "Medikit":
                Item compareItem = player.medikit;
                break;
            case "Grenade":
                Item compareItem = player.grenade;
                break;
            case "Weapon":
                Item[] compareItem = player.weapons;
                break;
            case "Bullet":
                Item [] compareItem = player.bullets;
                break;
            default:
                return;
        }
Run Code Online (Sandbox Code Playgroud)

什么是根据交换机的结果实现比较Item类或Item类数组的compareItem的最佳方法是什么?

c#

0
推荐指数
1
解决办法
70
查看次数