如果以前发布过,我很抱歉.我似乎无法通过Stackoverflow找到关于这个主题的任何内容,也没有找到任何其他谷歌搜索.
我有两个对象,都包含位置(x和y),以及线速度(x和y).这些物体正在通过2d平面移动.我需要检测这些物体何时碰撞,如果它们会发生碰撞.我的情况最大的问题是物体的半径,因为它会在触摸时产生影响.
我在一个月的时间内尝试了各种解决方案来解决这个问题,但我只是没有攻击它.我设法做的是计算对象的两个直线公式,最后得到两个的b和c(y = mx + c).我试图将这两个公式相互比较,其中x = x和y = y,但最终得到一个非常复杂的方程式,并且不知道如何将其转换为c#.
此功能也需要在<50ms内触发,使问题复杂化.任何建议都会有很长的路要走.
这不是这篇文章的重复,因为我已经尝试了其中推荐的解决方案。
我一直在尝试将 C#/.netCore 3.0/Kestrel 作为服务启动。
在努力让我的应用程序作为服务启动后,我按照这些说明创建了一个新的 exe,得到了相同的结果。
发布并添加服务并尝试从 cmd、powershell 或服务界面启动服务后,系统会提示我以下消息:
Windows 无法在本地计算机上启动 SomeWorker 服务。错误1053:服务未及时响应启动或控制请求。
在调查系统事件日志时,我只看到一个通用的:
myWorker 服务由于以下错误而无法启动:服务未及时响应启动或控制请求。
当我运行 exe/控制台时,它启动正常,没有任何问题。
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(
options => options.AddFilter<EventLogLoggerProvider>(level => level >= LogLevel.Information))
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>()
.Configure<EventLogSettings>(config =>
{
config.LogName = "Sample Service";
config.SourceName = "Sample Service Source";
});
}).UseWindowsService();
}
public class Worker : BackgroundService
{
private readonly ILogger<Worker> _logger; …Run Code Online (Sandbox Code Playgroud) 我很确定之前已经问过这个问题,但是我不确定要搜索什么,所以如果已经有人问过这个问题,请指导我.
通常,我会做这样的事情
List<string> values = new List<string>();
foreach (MyClass workingClass in AllTheClasses)
{
string val = workingClass.SomeField);
values.Add(val);
}
Run Code Online (Sandbox Code Playgroud)
但是,我想使用这样的东西:
List<string> values = AllTheClasses.ToList(SomeField);
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?