小编Ars*_*nko的帖子

是否存在与IEnumerable <KeyValuePair <TKey,TValue >>相同的结构?

我使用的结构可以表示为:

IEnumerable<KeyValuePair<TKey, TValue>>
Run Code Online (Sandbox Code Playgroud)

鉴于它写的时间太长(不计算代码分析可能会发出警告),我宁愿使用更具表现力的类型..NET Framework中是否有这样的类型,或者我应该创建自己的类型?

请注意,它与字典不同:

IDictionary<TKey, TValue> : IEnumerable<KeyValuePair<TKey, TValue>>
Run Code Online (Sandbox Code Playgroud)

因为字典确保每个键都是唯一的,这不是我的情况.我也不能使用查找:

Lookup<TKey, TValue> : IEnumerable<IGrouping<TKey, TValue>>
Run Code Online (Sandbox Code Playgroud)

因为查找不是懒惰的,即它需要刷新所有数据才能对其进行分组.

.net c# ienumerable lazy-evaluation data-structures

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

一个非常基本的自动扩展列表/数组

我有一个方法,它返回一个固定类型对象的数组(让我们说MyObject).

该方法创建一个新的空Stack<MyObject>.然后,它做了一些工作,并推动了一些数字MyObjects到最后Stack.最后,它返回Stack.ToArray().

它不会更改已添加的项目或其属性,也不会删除它们.要添加的元素数量会降低性能.无需对元素进行排序/排序.

Stack是最好用的吗?或者我必须切换到CollectionList确保更好的性能和/或更低的内存成本?

c# performance stack memory-management data-structures

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

将多个IEnumerable对象视为单个IEnumerable

我的问题似乎很容易,但我无法弄清楚.

假设我有一个"根"IEnumerable对象.每个对象都有IEnumerable字符串.如何获得这些字符串的单个IEnumerable?

可能的解决方案是:

public IEnumerable<string> DoExample()
{
    foreach (var c in rootSetOfObjects)
    {
        foreach (var n in c.childSetOfStrings)
        {
            yield return n;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但也许Linq有一个神奇的解决方案?

c# linq join

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

$ _get和session.无法让它发挥作用

谁能告诉我为什么这不起作用?

<?php
$lang = $_get["lang"];
if (($lang == "fr"))
{
    session_destroy();
    session_start(); 
    $_SESSION['lang'] == "fr";  
}

if (($lang == "en"))
{
    session_destroy();
    session_start(); 
    $_SESSION['lang'] == "en";      
}

if (isset($_SESSION['lang']))
{
    $lang = $_SESSION['lang'];
}
else
{
    $lang = "fr";            
}
?>
Run Code Online (Sandbox Code Playgroud)

我似乎无法让它工作,我尝试了很多不同的东西.只需要指出错误的方向.

如果有任何帮助,它在Apache服务器上的PHP5上运行.

即使没有会话,我也无法让$ _get工作.通常情况从来都不是这样.

php

0
推荐指数
3
解决办法
3609
查看次数

为什么分号是预期的,这意味着必须初始化隐式类型的局部变量?

我得到两个错误,我不知道错误在哪里.有谁可以帮我解决这个问题?

  1. ; 预期

  2. 错误隐式类型的局部变量必须初始化为ComputerPlayer.cs 103

尝试搜索";",但我在代码中没有看到任何遗漏.

public override bool CheckForHit(Cell guessedCell) // Line 101
{                                                  // Line 102
    var wasHit base.CheckForHit(guessedCell);      // Line 103
}                                                  // Line 104
Run Code Online (Sandbox Code Playgroud)

c#

-1
推荐指数
1
解决办法
417
查看次数