我正在我的项目中使用匿名函数.直到知道我在想,C#编译器只使用在同一个类中使用匿名方法的代码生成一个方法.但是,在IL中反编译此代码之后,我看到CLR创建了一个新类.
public class Comparer
{
public delegate int Greater(int a, int b);
public int Great(Greater greater, int a, int b)
{
return greater(a, b);
}
}
static void Main(string[] args)
{
int valueOfA = 11,
valueOfB = 23,
valueOfC = 42;
Comparer comparer = new Comparer();
Console.WriteLine("The greater is \t:{0}",
comparer.Great(delegate(int a, int b)
{
int[] numbers = new int[] { a, b, valueOfC };
return Math.Max(Math.Max(a, b), valueOfC);
},
valueOfA, valueOfB));
}
Run Code Online (Sandbox Code Playgroud)
这是Main方法的反编译IL代码:
.method private …Run Code Online (Sandbox Code Playgroud) 我在 App.XAML 文件中定义资源:
<SolidColorBrush x:Key="ActivePanelBackgBrush" Color="#FF77FF83"/>
<SolidColorBrush x:Key="NonActivePanelBackgBrush" Color="#FFFF7777"/>
Run Code Online (Sandbox Code Playgroud)
在我的 C# 代码中,我想将网格的背景设置为该颜色。我怎么做?
谢谢
我使用以下代码片段来绑定ItemsControl的Visibility.
<ItemsControl x:Name="PART_ItemsControl"
Margin="{Binding ExcelLikeFilterAdvVisibility, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource marginConverterForOldExcelLikeFiltering}, ConverterParameter=ItemsControl}"
ItemsSource="{TemplateBinding ItemsSource}"
Visibility="{Binding Path=Items.Count, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource itemsSourceCountConverter}}">
Run Code Online (Sandbox Code Playgroud)
由于此代码段,我在输出窗口中收到以下错误.
错误:
System.Windows.Data Error: BindingExpression path error: 'Items' property not found on 'ToolTipsDemo.StocksViewModel' 'ToolTipsDemo.StocksViewModel' (HashCode=42842654). BindingExpression: Path='Items.Count' DataItem='ToolTipsDemo.StocksViewModel' (HashCode=42842654); target element is 'System.Windows.Controls.ItemsControl' (Name='PART_ItemsControl'); target property is 'Visibility' (type 'System.Windows.Visibility')..
我正在尝试从文本文件中获取一个包含单个单词的字符串数组。然而,数组填充了一些空行。知道如何制作没有那些空行的字符串数组吗?
WebClient client = new WebClient();
Stream stream = client.OpenRead("https://gist.githubusercontent.com/Quackmatic/f8deb2b64dd07ea0985d/raw/macbeth.txt");
StreamReader reader = new StreamReader(stream);
string[] content = reader.ReadToEnd().Split('?', '!', ' ', '\n', '[', ']', '.');
for (int i = 0; i < 5; i++)
{
Console.WriteLine(content[i]);
}
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud) 我有一个视图文件,我试图将URL发送到控制器文件我的视图文件看起来像:
@model WebRole1.Models.CodeSnippet
@{
ViewBag.Title = "Details";
}
<p>
@Html.ActionLink("Preview", "Preview", new { Model.URL }) |
</p>
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我试图将url值发送到控制器文件.控制器文件中的功能如下
public ActionResult Preview(object zipPath)
{
// some operation...
}
Run Code Online (Sandbox Code Playgroud)
但是由于某些原因,视图正在向控制器发送空值.即,当调用控制器的预览方法时,zipPath值保持为空.可能是什么问题?
可以说我有以下字符串:
string str = "aaa123aaa";
Run Code Online (Sandbox Code Playgroud)
我将给定的字符串转换为char数组:
char[] array1 = str.ToArray();
Run Code Online (Sandbox Code Playgroud)
然后我想使用foreach循环遍历元素以将所有数字更改为空格
foreach (char i in array1)
{
if (char.IsNumber(i)) { // ? }
}
Run Code Online (Sandbox Code Playgroud)
我究竟如何将符合条件的字符更改为空格?我试过以下无济于事:
i = ' '; char(i) = ' '; array1(i) = ' ';
Run Code Online (Sandbox Code Playgroud)
他们都没有工作.
我如何与foreach循环中的元素进行交互?如果我使用数组很简单,在这种情况下我只会使用:
array1[i] = ' ';
Run Code Online (Sandbox Code Playgroud)
但我不知道如何在foreach循环中做同样的事情.
先感谢您!
快速提问:如何获得6位数毫秒?限制是3.其他选择?建议?
DateTime dt = new DateTime(2008, 08, 08, 08, 10, 10, 100)
Run Code Online (Sandbox Code Playgroud)