小编lep*_*pie的帖子

LINQ列表列表

  public class Employee
    { 
        public string  Name{get;set;}
        public List<Department> Department { get; set; }
        public string Company{get;set;}
    }

    public class Department
    {
        public string Name { get; set; }
        public string Location { get; set; }
    }

   List<Employee> employees = new List<Employee>();
        employees.Add(new Employee() { Company = "Dell", Name = "ABC" });
        employees.Add(new Employee() { Company = "Dell", Name = "Aakash" });
        employees.Add(new Employee() { Company = "CSC", Name = "Vaibhav" });
        employees.Add(new Employee() { Company = "TCS", Name = …
Run Code Online (Sandbox Code Playgroud)

.net c# linq

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

TextReader.ReadToEnd vs Stream.CopyTo

我要求连接超过500MB的文本文件.

给我的遗留代码使用TextReader.ReadToEnd(),代码如下:

using (TextWriter textWriter = new StreamWriter(concatenatedFile, false, fEncoding))
{
    foreach (string filename in filesToConcatenate)
    {
        using (TextReader textReader = new StreamReader(filename, Encoding.Default))
        {
            textWriter.Write(textReader.ReadToEnd());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想更改上面的代码以使用Stream.CopyTo()与File.OpenRead.为了证明这种变化的合理性,我可以想到,当ReadToEnd()用于非常大的文件时,我会想到OutofMemoryException.

ReadToEnd()给我一个印象,它将读到最后,将整个文本块(在这种情况下,500MB ??)保存到内存中然后写入指定的流.

所以我的问题是:在非常大的文件串联中,Stream.CopyTo()的行为与ReadToEnd()的行为有何不同?每次Stream.CopyTo()复制到流中时,将决定文本大小的内容是什么?在大多数情况下,使用它而不是ReadToEnd()会阻止OutOfMemoryException吗?

这是我想要使用的代码:

using (Stream output = System.IO.File.OpenWrite(outputFile))
{
    foreach (string inputFile in inputFiles)
    {
        using (Stream input = System.IO.File.OpenRead(inputFile))
        {
            input.CopyTo(output);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c#

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

解释隐藏代码

我试图看看这个文件里面有什么(用L ua写的)我玩的游戏,这样我就可以学习并看看它是如何完成的.但是在开始时它定义了使一切都不可读的函数 - 代码在文件中.

随着代码的继续,你会用###获得更多"美化"的编码.有人能告诉我如何制作它再次可读吗?

lua decoding

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

尝试编写一个简单的C#程序来使用密码过滤功能

我正在尝试使用Microsoft的dll" passfilt.dll " 编写一个简单的C#程序来捕获密码更改事件.我读到了它提供的功能.我只使用了"InitializeChangeNotify"并返回true.现在我将如何使用" PasswordChangeNotify "方法并将密码作为明文?这是我的代码!

using System.Text;
using System.Runtime.InteropServices;
class Program
    {


     [DllImport("passfilt.dll" ,EntryPoint="#1" )]
        public extern static Boolean InitializeChangeNotify();


        static void Main(string[] args)
        {

            Boolean ans= InitializeChangeNotify();
            Console.WriteLine("Answer " + ans);
            Console.ReadKey();

        }
    }
Run Code Online (Sandbox Code Playgroud)

注意:我是C#的新手.我找不到任何样本编程.帮帮我!

c# passwords dll change-password

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

检查字符串是否可以解析为int数组的最佳方法是什么?

我需要确定是否可以将字符串解析为int数组.字符串可以是格式

"124,456,789,0"

如果它可以转换成如此:

int[] Ids = SearchTerm.Split(',').Select(int.Parse).ToArray();
Run Code Online (Sandbox Code Playgroud)

但是字符串也可能是这样的:

"这是一个字符串,非常好."

在这种情况下,解析失败.

根据字符串是否包含逗号字符(假设只有类似数组的字符串将包含此字符),逻辑当前分为两个方向,但此逻辑现在存在缺陷,并且逗号字符现在出现在其他字符串中.

我可以在它周围放一个Try..Catch,但我通常不利于控制异常的逻辑流程.

是否有捷径可寻?

c#

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

更改数据表中的行位置或移动数据表中的行

我有一个必须排序的DataTable,但是即使在对DataTable排序之后,我也想返回特定的行作为最后一行。我将通过单列中的字符串值来标识此行。

  public DataTable StandardReport3B(string missionId, string reportType, string startDate, string endDate)
    {
        List<long> missionIdList = new List<long>();
        string[] missionIds = missionId.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

        foreach (string mission in missionIds)
        {
            missionIdList.Add(Convert.ToInt64(mission));
        }

        DataTable dt = new DataTable();
        object reportData = null;

        using (var ctx = new MedicalServiceEntities())
        {
            reportData = ctx.GetData(startDate, endDate, missionId).ToList();
        }

        dt = this.GenericListToDataTable(reportData);

        DataView dv = dt.DefaultView;
        dv.Sort = dt.Columns[0].ColumnName + " Asc";
        return dv.ToTable();
    }
Run Code Online (Sandbox Code Playgroud)

c# datatable ado.net dataset

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

如何动态更改mvc3中标签的可见性?

我有以下代码

<div> @Html.LabelFor(m=>m.WrongLogin) </div>   
Run Code Online (Sandbox Code Playgroud)

我想根据控制器中服务器端代码的条件动态显示标签.如果控制器返回false值,那么我需要制作标签visible.

c# asp.net asp.net-mvc asp.net-mvc-3

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

WHERE 子句中是否可以有 CASE WHEN THEN SELECT

我只是想知道是否可以在 WHERE 子句中以这种形式添加 CASE 语句...

SELECT *
FROM TABLEA
WHERE date between '2014-02-01' and '2014-02-28' and
CASE
   WHEN date>'2014-02-28' THEN (SELECT FROM TABLEC WHERE...)
   ELSE (SELECT FROM TABLE B WHERE...)
END
Run Code Online (Sandbox Code Playgroud)

谢谢!

sql sql-server case where-clause

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

从颜色类中获取颜色名称

我有以下颜色

{ Name=ffff8c00, ARGB=(255, 255, 140, 0) }
Run Code Online (Sandbox Code Playgroud)

我可以检查颜色名称吗?无论是红色还是绿色..我想要颜色的名称..

有没有可能找到?

c#

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

为什么 MemoryCache 中的滑动过期行为如此奇怪?

我不明白在 System.Runtime.Caching.MemoryCache 和 .NET 4.0 中滑动过期应该如何工作。

根据文档,到期时间跨度是“在缓存条目从缓存中逐出之前必须访问缓存条目的时间跨度”。

但是,以下单元测试失败:

private const string AnyKey = "key";
private const string AnyValue = "value";

private readonly TimeSpan timeout = TimeSpan.FromSeconds(0.5);

private void WaitSixtyPercentOfTheTimeout()
{
    Thread.Sleep(TimeSpan.FromSeconds(timeout.TotalSeconds*0.6));
}

[Test]
public void Get_RefreshesTimeoutOfSlidingExpiration()
{
    var cache = MemoryCache.Default;
    cache.Set(AnyKey, AnyValue, new CacheItemPolicy {SlidingExpiration = timeout});

    WaitSixtyPercentOfTheTimeout();
    cache[AnyKey].Should().Be(AnyValue);
    WaitSixtyPercentOfTheTimeout();

    cache[AnyKey].Should().Be(AnyValue);
}

private void UpdateCallback(CacheEntryUpdateArguments arguments)
{
}
Run Code Online (Sandbox Code Playgroud)

巧合的是,我做了一个小改动来解决这个问题。但是,如果这是一个错误或功能,现在有人吗?

一旦设置了 UpdateCallBack,到期将按预期工作:

// [...]

[Test]
public void Get_RefreshesTimeoutOfSlidingExpiration()
{
    var cache = MemoryCache.Default;
    cache.Set(AnyKey, AnyValue, new CacheItemPolicy {SlidingExpiration = timeout, …
Run Code Online (Sandbox Code Playgroud)

.net c# caching memorycache

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