小编CSh*_*pie的帖子

Structlayout在调试版本中行为不正确

请考虑以下程序:

using System.Runtime.InteropServices;
using System;
public class Program
{
    public static void Main()
    {
        new magic
        {
            S = "Hello",
            C =
            {
                [0] = 'W',
                [1] = 'o',
                [2] = 'r',
                [3] = 'l',
                [4] = 'd',
            }
        };

        Console.WriteLine("Hello");
        Console.ReadKey();    
    }

    [StructLayout(LayoutKind.Explicit)]
    struct magic
    {
        [FieldOffset(0)]
        public string S;

        [FieldOffset(0)]
        public char[] C;
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么HeWor在进行调试和发布时World(如预期的那样)进行打印?在.NET 4.8的VS 2019上测试

我知道这样做不仅是界限,但背后有什么解释吗?

c# struct

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

String.Replace未按预期工作

我有一个程序

    public void TestMethod2()
    {
        string[] keywords =
        {
            "SELECT", "FROM", "WHERE", "GROUP", "HAVING", "ORDER", "LEFT",  "RIGHT", "JOIN", "INNER", "OUTER", "ASC",
            "DESC", "AND", "OR","IN", "BETWEEN", "BY", "NOT", "ON", "AS", "CASE", "WHEN", "ELSE", "UPDATE", "SET"
        };

        var actualString = "SELECT * FROm A Join B On C in D case e join t left outer join inner join right join";

        foreach (var text in actualString.Split(' '))
        {
            var isExists = keywords.Any(x => x.Equals(text, StringComparison.OrdinalIgnoreCase));

            if (!isExists)
            {
                continue;
            }

            actualString = …
Run Code Online (Sandbox Code Playgroud)

c# string

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

如何使用VAO实现光线跟踪

让我们说我有一个VAO创建一个棋盘.

它由法线,顶点和索引组成,使用一个简单的着色器,通过使用坐标上的模数函数交替​​对板​​进行着色...

我该如何实施采摘?

我从其他线程中发现光线追踪是要走的路,但那是我努力实现的难点.

对于顶点和法线,数据由Vector3组成,指数为uint.

opengl shader

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

使用DependencyProperty在TextBox上添加IsDirty-Flag

我有问题,我有一个我无法扩展的现有模型对象.实际问题有点复杂,所以我试图将其分解.

我想扩展一个TextBox依赖属性来指示文本已更改.所以我想出了以下解决方案:

public class MyTextField : TextBox
{
    public MyTextField()
    {
        this.TextChanged += new TextChangedEventHandler(MyTextField_TextChanged);
    }

    private void MyTextField_TextChanged(object sender, TextChangedEventArgs e)
    {
        IsDirty = true;
    }
    public static DependencyProperty IsDirtyProperty = DependencyProperty.Register(
        "IsDirtyProperty",
        typeof(bool),
        typeof(MyTextField),
        new PropertyMetadata(false));

    public bool IsDirty
    {
        get { return (bool)GetValue(IsDirtyProperty); }
        set { SetValue(IsDirtyProperty, value); }
    }
}
Run Code Online (Sandbox Code Playgroud)

XAML:

<my:MiaTextField Text="{Binding Barcode}" IsDirty="{Binding IsDirty}"/>
Run Code Online (Sandbox Code Playgroud)

因此,如果我更改了文本TextBox,则isDirty属性应更改为true.但我得到了一个System.Windows.Markup.XamlParseException:绑定只能设置"DependencyObject"的"DependencyProperty".

c# wpf dependency-properties

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

标签 统计

c# ×3

dependency-properties ×1

opengl ×1

shader ×1

string ×1

struct ×1

wpf ×1