小编Dav*_*e M的帖子

VB.NET选择...在C#中等效的Case语句

我刚开始使用C#,我有几个问题.有没有办法像下面这样编写VB.NET Select语句的C#等价物?

Select Object.Name.ToString()
    Case "Name1"
        'Do something
    Case "Name2"
        'Do something else
    Case Else
        'Do the default action
End Select
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.


感谢到目前为止的输入,如果我将几个控件挂钩到一个事件处理程序,如下所示,我想对每个控件执行稍微不同的操作:

Private Sub Button_Click(sender as Object, e as EventArgs) _
  Handles button1.Click, Button2.Click

    'do a general activity

    Select CType(sender, Button).Name
        Case button1.Name
            'do something
        Case button2.Name
            'do something else
        Case Else
            'do the defalut action
    End Select
End Sub
Run Code Online (Sandbox Code Playgroud)

有没有办法在C#中执行上面的select语句而不必使用嵌套的ifs?

c# vb.net vb.net-to-c#

18
推荐指数
3
解决办法
3万
查看次数

每种方法只有一个return语句,即使在这种情况下?

我喜欢return每种方法只有一个语句的想法.

你在这种情况下做了什么?

public static string ChopText(string Text)
{
   if (String.IsNullOrEmpty(Text))
   {
      // return here ?????
   }
}
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一选择是设置一个标志,然后检查标志.

问题是,我不喜欢有超过一页的巨大if语句. 由于这个原因,我也看到了丑陋的嵌套if语句.

methods return

12
推荐指数
4
解决办法
2518
查看次数

我可以使用模糊处理的序列化吗?

我想知道它是否会起作用...在我的应用程序中,我有一个对象,我正在序列化文件,然后我用ProGuard混淆代码,应用程序进入市场.然后我想发布新版本的应用程序.我也一样.用户运行应用程序更新.

问题是 - 使用第一个版本的应用程序序列化的对象是否在第二个版本中正确反序列化?如果是的话 - 为什么?

obfuscation serialization android proguard

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

按查询查询LINQ组中的组号

我一直在使用101 LINQ样本来使用LINQ弄湿我的脚.这是一个很好的第一资源,但我无法看到我目前需要的一个例子.

我只需要将一个顺序组号与每个组相关联.我有一个有效的解决方案:

var groups =
   from c in list
   group c by c.Name into details
   select new { Name = details.Key, DetailRecords = details };


int groupNumber = 0;
foreach (var group in groups)
{
   // 
   // process each group and it's records ...
   // 

   groupNumber++;
}
Run Code Online (Sandbox Code Playgroud)

但是,我确信可以使用LINQ来生成groupNumber.怎么样?

c# linq group-by

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

所有图像效果的颜色矩阵

你能告诉我所有图像滤镜效果的颜色矩阵吗,例如:

  1. 高斯模糊
  2. 锐化
  3. 光滑的
  4. 边缘检测快速
  5. 边缘检测卷积
  6. 边缘增强
  7. 大纲
  8. 棕褐色
  9. 晒太阳
  10. 索贝尔

我可以通过使用 C# 中的指针轻松更改图像,但这是不安全的,因此我避免使用它。改变像素数据的另一种方法是颜色矩阵。你能帮助我吗?

c# image-processing visual-studio-2010 visual-studio-2008

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

正则表达式替换除数字和小写之外的任何内容

我有一个输入,我绑定到keyup()

在每个keyup上,我希望它:

  1. 禁止任何不是数字,字母或短划线的字符,以及
  2. 用小写字母替换任何大写字符.

正则表达让我的头爆炸,任何帮助?

$('.my-input').keyup(function() {
    this.value = this.value.replace(/[^0-9a-z-]/g,/[0-9a-z-]/g);
});
Run Code Online (Sandbox Code Playgroud)

javascript regex jquery

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

按列+内的键+值对Dictionary <int,List <int >>进行排序

假设我们有一个

var dictionary= new Dictionary<int, IList<int>>();
Run Code Online (Sandbox Code Playgroud)

我想要的是输出它的排序版本,首先按键排序,然后按列表中的值排序.

例如

1   2, 1, 6
5   2, 1
2   1, 3
Run Code Online (Sandbox Code Playgroud)

1    1, 2, 6
2    1, 3
5    1, 2
Run Code Online (Sandbox Code Playgroud)

我尝试在里面做foreach,但显然改变你正在迭代的东西是个坏主意.

.net c# linq

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

为什么要使用Fluent界面?

与经典属性相比,使用它有什么好处?

我知道实例名称的重复已经消失,但这就是全部?

public class PropClass
{
  public Object1 object1 { get; set; }
  public Object2 object2 { get; set; }
}

PropClass propClass = new PropClass();
propClass.object1 = o1;
propClass.object2 = o2;

public class FluentClass
{
    public Object1 object1 { get; private set; }
    public Object2 object2 { get; private set; }

    public FluentClass SetObject1(Object1 o1)
    {
        object1 = o1;
        return this;
    }

    public FluentClass SetObject2(Object1 o2)
    {
        object1 = o2;
        return this;
    }
}

FluentClass fluentClass = new FluentClass().SetObject1(o1).SetObject1(o2);
Run Code Online (Sandbox Code Playgroud)

c# fluent-interface

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

无法在对象中存储字典值

所以我正在寻找文本冒险的原型.我Dictionary在每个Room对象中创建了一个availableExits,然后Room为原型创建了一个对象数组.该Room(室001)的负载形式正确,但我不能访问可用出口的列表.经过一些调试后,我发现退出没有被分配给Room对象.谁知道我在做错了什么?

代码摘要:

public RoomManager()
{
    //available exits for each room
    Dictionary<string, int> room1Exits = new Dictionary<string, int>();
    room1Exits.Add("E", 002);
    room1Exits.Add("S", 003);
    Dictionary<string, int> room2Exits = new Dictionary<string, int>();
    room2Exits.Add("S", 004);
    room2Exits.Add("W", 001);
    Dictionary<string, int> room3Exits = new Dictionary<string, int>();
    room3Exits.Add("N", 001);
    room3Exits.Add("E", 004);
    Dictionary<string, int> room4Exits = new Dictionary<string, int>();
    room4Exits.Add("N", 002);
    room4Exits.Add("W", 003);

    listOfRooms = new Room[5];
    listOfRooms[0] = new Room(0, "How the hell did you get here!?!", room1Exits); …
Run Code Online (Sandbox Code Playgroud)

c# dictionary object

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

出现在C#中的奇怪的换行符生成了CSV

我使用OleDb数据读取器读取大量记录,然后将它们写入CSV.然后我使用这个CSV读取File.ReadAllLines,然后用逗号分割以获取我的数据.问题是CSV的某些部分包括一个我无法显示的字符(显示为正方形),它看起来像一个换行符 - 这个换行符破坏了CSV,所以我需要摆脱它.

我试着更换Environment.NewLine与写入CSV时,其他的东西(一个空格),并同上/r/n,但无济于事-字符不会被替换.还有哪些方法可以删除这些?

c#

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

在100次中调用方法1

我需要一个100的机会调用一些功能.现在我正在使用以下代码,但它被调用的频率超过1%.

int randomItem = (int)(Math.random()*100);
if (randomItem >= 90 && randomItem <= 100)
{
    // Do something ...
}
Run Code Online (Sandbox Code Playgroud)

java android andengine

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