我刚开始使用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?
我喜欢return每种方法只有一个语句的想法.
你在这种情况下做了什么?
public static string ChopText(string Text)
{
if (String.IsNullOrEmpty(Text))
{
// return here ?????
}
}
Run Code Online (Sandbox Code Playgroud)
我能想到的唯一选择是设置一个标志,然后检查标志.
问题是,我不喜欢有超过一页的巨大if语句. 由于这个原因,我也看到了丑陋的嵌套if语句.
我想知道它是否会起作用...在我的应用程序中,我有一个对象,我正在序列化文件,然后我用ProGuard混淆代码,应用程序进入市场.然后我想发布新版本的应用程序.我也一样.用户运行应用程序更新.
问题是 - 使用第一个版本的应用程序序列化的对象是否在第二个版本中正确反序列化?如果是的话 - 为什么?
我一直在使用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# 中的指针轻松更改图像,但这是不安全的,因此我避免使用它。改变像素数据的另一种方法是颜色矩阵。你能帮助我吗?
我有一个输入,我绑定到keyup()
在每个keyup上,我希望它:
正则表达让我的头爆炸,任何帮助?
$('.my-input').keyup(function() {
this.value = this.value.replace(/[^0-9a-z-]/g,/[0-9a-z-]/g);
});
Run Code Online (Sandbox Code Playgroud) 假设我们有一个
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,但显然改变你正在迭代的东西是个坏主意.
与经典属性相比,使用它有什么好处?
我知道实例名称的重复已经消失,但这就是全部?
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) 所以我正在寻找文本冒险的原型.我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) 我使用OleDb数据读取器读取大量记录,然后将它们写入CSV.然后我使用这个CSV读取File.ReadAllLines,然后用逗号分割以获取我的数据.问题是CSV的某些部分包括一个我无法显示的字符(显示为正方形),它看起来像一个换行符 - 这个换行符破坏了CSV,所以我需要摆脱它.
我试着更换Environment.NewLine与写入CSV时,其他的东西(一个空格),并同上/r和/n,但无济于事-字符不会被替换.还有哪些方法可以删除这些?
我需要一个100的机会调用一些功能.现在我正在使用以下代码,但它被调用的频率超过1%.
int randomItem = (int)(Math.random()*100);
if (randomItem >= 90 && randomItem <= 100)
{
// Do something ...
}
Run Code Online (Sandbox Code Playgroud) c# ×7
android ×2
linq ×2
.net ×1
andengine ×1
dictionary ×1
group-by ×1
java ×1
javascript ×1
jquery ×1
methods ×1
obfuscation ×1
object ×1
proguard ×1
regex ×1
return ×1
vb.net ×1
vb.net-to-c# ×1