小编And*_*lai的帖子

通过反射获取可选Guid的DefaultValue?

我有以下代码,我用它作为示例来说明不同的场景:

    public static void MethodWithOptionalGuid(Guid id = default(Guid)) { }

    public static void MethodWithOptionalInteger(int id = 2) { }

    public static void MethodWithOptionalString(string id = "33344aaa") { }

    public static void MethodWithoutOptionalParameter(int id, Guid longId) { }

    static void Main(string[] args)
    {
        var methods = typeof(Program).GetMethods(BindingFlags.Public | BindingFlags.Static).ToList();

        foreach (var method in methods)
        {
            PrintMethodDetails(method);
        }

        Console.ReadLine();
    }

    static void PrintMethodDetails(MethodInfo method)
    {
        Console.WriteLine(method.Name);

        foreach (var parameter in method.GetParameters().ToList())
        {
            Console.WriteLine(parameter.Name +
                              " of type " + parameter.ParameterType.ToString() +
                              " …
Run Code Online (Sandbox Code Playgroud)

c# reflection value-type optional-parameters base-class-library

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

如何生成有效的数独板?[和难度等级]

我正在开发一个Sudoku程序.目前,我可以生成一个有效的数独板,但我不知道我是否生成了一个简单或困难的板.

这是我的方法:

我开始生成全板.最后一块板是空的.

我开始用全板的值填充21个随机单元格.

我发现最终电路板的所有解决方案,并且对于每个电池,计算整个电路板解决方案的差异,选择最多的电路板并填充它.(这个想法来自这里:如何使用独特的解决方案生成数独板 首先回答)

这样做,直到你只有一个解决方案.

现在,我不知道21个随机细胞的这种方法是否合适.有时我会在前21个随机单元格之后有很多解决方案,有时候会有一些.

目前我在平均时间:0,3秒生成最终板.

我想告诉我一个不同的快速方法,除了这个,有21个随机单元格,也许我可以在哪里排列板的难度.

谢谢!

c# algorithm sudoku

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

将两个Path数字合二为一?

我有这两种形状:

图1 图2

拳头图片代码:

<Path Fill="Orange">
    <Path.Data>
        <PathGeometry>
            <PathFigure StartPoint="0,100">
                <BezierSegment Point1="50,110" Point2="50,110" Point3="100,100"></BezierSegment>
                <LineSegment Point="100,80"></LineSegment>
                <LineSegment Point="120,90"></LineSegment>
                <LineSegment Point="120,70"></LineSegment>
                <LineSegment Point="100,60"></LineSegment>
                <LineSegment Point="100,20"></LineSegment>
                <LineSegment Point="80,0"></LineSegment>
                <LineSegment Point="20,0"></LineSegment>
                <LineSegment Point="0,20"></LineSegment>
                <LineSegment Point="0,40"></LineSegment>
                <LineSegment Point="-20,20"></LineSegment>
                <LineSegment Point="-20,40"></LineSegment>
                <LineSegment Point="0,60"></LineSegment>
            </PathFigure>
        </PathGeometry>
    </Path.Data>
</Path>
Run Code Online (Sandbox Code Playgroud)

第二张图片代码:

<Path Fill="Orange">
    <Path.Data>
        <PathGeometry>
            <PathFigure>
                <LineSegment Point="0,25"></LineSegment>
                <LineSegment Point="250,25"></LineSegment>
                <LineSegment Point="250,0"></LineSegment>
            </PathFigure>
        </PathGeometry>
    </Path.Data>
</Path>
Run Code Online (Sandbox Code Playgroud)

我如何将它们组合成这样的东西(忽略文本): 在此输入图像描述

我需要在C#(而不是xaml)中完成.谢谢!

c# wpf geometry xaml path

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