小编Hen*_*man的帖子

c#搜索arraylist

在我的代码中,我有一个名为array的arraylist.

我已经填写了1到13的数字

for(int i =1; i< 14; i++)
{
  array.items.Add(i)
}
Run Code Online (Sandbox Code Playgroud)

稍后在我的代码中我也随机删除了一些元素.示例array.remove(3);

现在我想搜索一下,arraylist中元素的多少值超过了特定的数字.

那么,arraylist中有多少元素结束了例如5.

谁知道怎么做?

谢谢!

c#

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

如何避免手动启动的线程死亡?

我在一个在IIS上运行的系统上有一个进程,它需要几个小时才能完成,因此它在一个线程上运行.

问题是这个线程在一段时间后被删除,因为IIS进程超时(没有活动).这个线程不能在中间停止.

如果线程正在运行,如何防止此超时?

c# iis multithreading timeout

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

使用linq将逗号分隔的列表放入列中

我有两个表,它们之间有一对多的关系,并希望执行一个linq查询,该查询将从多个表中获取值,并从连接到每个记录的值中生成一个逗号分隔的列表.其他表.我可以使用"stuff"函数和"for xml path"函数在sql中执行此查询.例如,假设我有以下表结构:

1)区
列:id,名称
2)存储
列:id,name,districtid

现在假设我想生成一个查询以返回以下列:district.id,district.name,stores(与该区域关联的以逗号分隔的商店列表)

如何通过linq实现这一目标?

在一个查询中,我想在没有任何for循环的情况下执行此操作.

c# linq asp.net linq-to-sql

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

随机数发生器 - 可变长度

目前我的程序(见下文)生成长度为8-12个字符的随机字符串(由数字组成).

public static string GenerateNewCode(int CodeLength)
{
    string newCode = String.Empty;
    int seed = unchecked(DateTime.Now.Ticks.GetHashCode());
    Random random = new Random(seed);

    // keep going until we find a unique code       `
    do
    {
        newCode = random.Next(Convert.ToInt32(Math.Pow(10, CodeLength - 1)), Convert.ToInt32(Math.Pow(10, CodeLength) - 1)).ToString("0000");
    }
    while (!ConsumerCode.isUnique(newCode));

    // return
    return newCode;
}
Run Code Online (Sandbox Code Playgroud)

然而,它们是该方法的问题,当其codeLength为10或更大时,它会导致错误,因为10 9大于int32.MaxValue.

不知道如何解决这个问题.

c# random math integer numbers

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

ComboBox就像一个按钮?

我看到组合框看起来像按钮,底部右边有一个小箭头,表示它是一个带有几个选项的卓尔菜单.这是怎么做到的?我可以在comboBox的属性中更改一些内容吗?谢谢!

编辑:我在Visual Studio 2010中使用Windows窗体

c# winforms

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

regex_replace不替换连字符/破折号

我在postgreSQL中使用regex_replace并尝试去掉字符串中不是字母或数字的任何字符.但是,使用这个正则表达式:

select * from regexp_replace('blink-182', '[^a-zA-Z0-9]*$', '')
Run Code Online (Sandbox Code Playgroud)

返回'blink-182'.连字符没有被删除,并且没有像我期望的那样被替换为'''.

如何修改此正则表达式以替换hypen - 我已经测试了许多其他字符(!,.#)并且它们都被正确替换.

有任何想法吗?

regex postgresql

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

调试对象无法完成?

我的应用程序中有以下代码,以帮助我检查ViewModel是否正确完成:

#if DEBUG
    static int openViewModels = 0;

    protected AbstractViewModel()
    {
        openViewModels++;
    }

    ~AbstractViewModel()
    {
        openViewModels--;
        System.Diagnostics.Debug.WriteLine(openViewModels);
    }
#endif
Run Code Online (Sandbox Code Playgroud)

我的应用程序中的所有viewModel都派生自此类.我发现随着时间的推移,openViewModels增加,暗示某些viewModel无法完成.

我无法弄清楚为什么会这样 - 我盯着我的代码,但我看不出是什么导致一些物体留在身边.是否有任何工具或程序可以帮助我找出阻止这些对象最终确定的内容?

c# debugging finalizer

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

AES解密,IV长度

我正在尝试解密一个字符串,但我得到了

指定的初始化向量(IV)与此算法的块大小不匹配.

我一直在搜索SO和网络一段时间,我知道我的IV是32字节,应该是16字节,但我无法弄清楚如何实现它.要获取的字符串已使用AES/CBC/PKCS5Padding和我的代码加密(实际上我已经在网络的某个地方找到了它)

var btKey = Encoding.ASCII.GetBytes("7c6e1257d0e81ff55bda80cc904365ae");
var btIV = Encoding.ASCII.GetBytes("cf5e4620455cd7190fcb53ede874f1a8");

aesAlg.Key = btKey;
aesAlg.IV = btIV;

aesAlg.Padding = PaddingMode.PKCS7;

// Create a decrytor to perform the stream transform.
var decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);

// Create the streams used for decryption.
using (MemoryStream msDecrypt = new MemoryStream(encodedTicketAsBytes))
  {
    using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)){
      using (StreamReader srDecrypt = new StreamReader(csDecrypt))
      {
        // Read the decrypted bytes from the decrypting stream
        // and place them in a string.
        plainText …
Run Code Online (Sandbox Code Playgroud)

c# encryption aes

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

在运行时更改表达式委托主体?

我有这个代码生成一个委托,它将myNumber乘以5

ParameterExpression numParam = Expression.Parameter(typeof(int), "num");
ConstantExpression five = Expression.Constant(5, typeof(int));
BinaryExpression numMultiply = Expression.Multiply(numParam,five);
Run Code Online (Sandbox Code Playgroud)

让我们创建委托:

Expression<Func<int, int>> lambda1 =
    Expression.Lambda<Func<int, int>>(
        numMultiply,
        new ParameterExpression[] { numParam });
Console.Write(lambda1.Compile()(4));
Run Code Online (Sandbox Code Playgroud)

现在让我们说我要更改此表达式树Add而不是Multiply
这里是新行:

BinaryExpression numAdd = Expression.Add(numParam,five);
Run Code Online (Sandbox Code Playgroud)

但是我如何更改lambda1以便它现在将使用numAdd而不是multiply

.net c# .net-4.0 expression-trees

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

EntityFramework代码优先的DateTime列不能按预期工作

我有基础模型User和两个额外的模型UserCreateModelUserEditModel.UserCreateModel工作得很好并且创建了用户,但是当我尝试编辑用户时它会给我错误.

我不明白他为什么在datetime上行动,因为它在数据库中已经有了有效的DateTime属性.我想做的就是更新Name属性.我在这做错了什么?

错误

将datetime2数据类型转换为日期时间数据类型会导致超出范围的值.该语句已终止.

调节器

public HttpResponseMessage PutUser(int id, UserEditModel user)
{
    if (!ModelState.IsValid)
    {
        return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
    }

    if (id != user.Id)
    {
        return Request.CreateResponse(HttpStatusCode.BadRequest);
    }

    db.Entry(user).State = EntityState.Modified;

    try
    {
        db.SaveChanges(); // Exception here, all validation passed with success
    }
    catch (DbUpdateConcurrencyException ex)
    {
        return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
    }

    return Request.CreateResponse(HttpStatusCode.OK);
}
Run Code Online (Sandbox Code Playgroud)

模型

public class User
{
    public int Id { get; set; }
    public virtual DateTime CreatedDateTime { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

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