小编Sha*_*yar的帖子

C++全局变量声明


我想要做的只是在头文件中定义一个变量,并在两个不同的cpp文件上使用它,而不是每次我包含该头时重新定义该变量
这是我尝试的方式:

Variables.h

#ifndef VARIABLES_H // header guards
#define VARIABLES_H

static bool bShouldRegister;

#endif
Run Code Online (Sandbox Code Playgroud)

(我也试过extern但没有改变)

在cpp文件中,我给它一个值::bShouldRegister = truebShouldRegister = true;

在我的另一个cpp文件中,我通过创建一个线程并在循环中检查它的值来检查它的值(是的,我的线程函数运行良好)

 while (true)
 {
     if (::bShouldRegister) // Or if (bShouldRegister)
        {
            MessageBox(NULL,"Value Changed","Done",MB_OK|MB_ICONINFORMATION);
        }
  Sleep(100);
 }
Run Code Online (Sandbox Code Playgroud)

是的,MessageBox永远不会出现(bShouldRegister永远不会成真:/)

c++ variables global-variables

34
推荐指数
4
解决办法
6万
查看次数

C++获取程序的开放套接字的句柄

如何获得程序创建的套接字的套接字ID(句柄)?

我知道我可以在所有程序中获得所有打开的套接字,GetTcpTable()但它有两个问题:

  1. 它显示了所有程序套接字
  2. 它不返回套接字的ID(句柄)

c++ winapi

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

从EF Core 2迁移到EF Core 3

将项目从(dotnet核心2 / ef核心2)升级到(dotnet核心3 / ef核心3)后,几乎所有实体框架LINQ查询都被破坏了。虽然我已经读过这篇文章,但仍然不清楚该怎么做。

以下是一些我遇到问题的示例:

var league = await dbContext.League.LastAsync();
Run Code Online (Sandbox Code Playgroud)

尽管此代码在ef内核2中运行良好,但在ef内核3中引发了异常。我只能找到以下解决方法,因为下面的代码仍然不是我想要的,因为它不像以前那样异步。

var league = dbContext.League.AsEnumerable().Last();
Run Code Online (Sandbox Code Playgroud)

引发相同异常的另一个示例是以下代码:

var user = await dbContext.User.FirstOrDefaultAsync(u =>
                u.UserId == userId && string.Equals(u.Token, token, StringComparison.InvariantCulture));
Run Code Online (Sandbox Code Playgroud)

我仍然可以使用AsEnumerable(),但是那里没有可用的FirstOrDefault异步版本,所以这不是一个选择。有人可以指导我吗?

编辑
这是例外:

System.InvalidOperationException: The LINQ expression 'Last<League>(DbSet<League>)' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information.
Run Code Online (Sandbox Code Playgroud)

c# linq sql-server entity-framework-core

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

HttpContext.SignOutAsync() 既不注销用户也不删除本地 cookie

我知道已经有关于这个主题的问题,但给出的答案都不适合我的情况。

这是核心:

启动.cs

public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<comedyContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

        services.Configure<CookiePolicyOptions>(options =>
        {
            // This lambda determines whether user consent for non-essential cookies is needed for a given request.
            options.CheckConsentNeeded = context => true;
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });

        services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
            .AddCookie(options => {
                options.LoginPath = "/login/";
            });

        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net razor asp.net-core asp.net-core-2.2

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

Unity3d android 2d sprite放置

请看一下这张照片
最终游戏出口 这是从photoshop导出的游戏的最终外观
我用红色标记标记了ui精灵,用蓝色标记标记了游戏精灵
我的问题是我应该如何在unity3d 2d游戏开发中正确使用这些精灵.

这是我能想到的方式:

  1. 使用画布中的红色精灵作为Image布局组中的组件(垂直或水平,因此我可以将它们放在角落中,它将适用于每个分辨率)
  2. 在画布外使用蓝色精灵,显然是通过Sprite Renderer组件
  3. 通过Sprite Renderer组件在画布中使用蓝色精灵,并将画布渲染模式设置为Screen Space - Camera
  4. 通过Image组件在画布中使用蓝色精灵


这些方式都可能是错的,但这些都是我现在能想到的.
我对你的所有建议持开放态度.
我的统一版本是2017.2.0f,我希望游戏能够与每个分辨率一起使用.

android sprite unity-game-engine

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

计算字符串或字节数组的CRC32

VB.NET是否有任何函数或示例来计算字符串或字节数组的CRC32?

vb.net hash crc32

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

asp.net core 2从本地磁盘驱动器加载并显示图像


有什么方法可以从本地驱动器在 asp.net core 2 (razor) Web 应用程序中显示图像?

我想要这样做的原因是我正在开发一个游戏服务器,其中包含一个游戏服务器和两个网站(前端和管理面板),所有这些都需要访问上述图像,在本例中是个人资料图像这就是为什么我没有将这些图像放在 wwwroot 文件夹中。

示例图片地址:“C:\game_data\avatars\default.png”

c# asp.net-core asp.net-core-2.0 razor-pages asp.net-core-2.2

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

C++读取char*中的注册表字符串值

可能重复:
如何比较字符串


我想要比较注册表字符串值,如果它们是相同的,则出现一个消息框
目前我正在使用这个函数,它正确返回值但是每当我想比较它们时,比较结果总是错误的

char* GetRegistry(char* StringName)
{
DWORD dwType = REG_SZ;
HKEY hKey = 0;
char value[1024];
DWORD value_length = 1024;
const char* subkey = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\MCI\\Player";
RegOpenKey(HKEY_LOCAL_MACHINE,subkey,&hKey);
RegQueryValueEx(hKey, StringName, NULL, &dwType, (LPBYTE)&value, &value_length);
return  value;
}
Run Code Online (Sandbox Code Playgroud)


我用它来比较它们

if (GetRegistry("First") == GetRegistry("Second"))
{
MessageBox(NULL,":|",":|",1);
}
Run Code Online (Sandbox Code Playgroud)


但是MessageBox出现了如何不同的值


任何帮助表示赞赏.

c++ registry winapi

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

在VB.NET中'列出(Of Byte())'到'Byte()'

我有一个字节列表:

Public Function GenPackets()
    Dim Stream As NetworkStream = ConnectionSocket.GetStream()
    Dim DataList As New List(Of Byte())
    Dim Data As Byte()
    DataList.Add(IntegerToByte(My.Settings.BotUID))

    ' TO DO       Stream.Write(Data, 0, 3)
    Return Data
End Function
Run Code Online (Sandbox Code Playgroud)

如何将DataList其所有字节转换为单个Byte()以供使用Stream.Write

vb.net

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

关于Qt的初学者问题

我想问一些我在Qt网站上找不到的问题.

  1. Qt是完全免费还是只是其中的一部分,或者根本不是免费的?
  2. 我可以在Visual Studio中使用它的库吗?
  3. 我可以和Mt一起使用MFC吗?
  4. 我想使用Qt的主要原因是创建专业的GUI.我应该下载什么?Qt Library,Qt Creator或两者兼而有之?

c++ qt mfc qt-creator visual-studio

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