小编Ond*_*dar的帖子

在C#中使用newtonsoft查找并返回JSON差异?

我想得到一个使用Newtonsoft进行比较时不匹配的JSON部分列表.

我有这个代码比较:

JObject xpctJSON = JObject.Parse(expectedJSON);
JObject actJSON = JObject.Parse(actualJSON);

bool res = JToken.DeepEquals(xpctJSON, actJSON);
Run Code Online (Sandbox Code Playgroud)

但找不到任何可以返回差异的东西.

c# json json.net

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

在文档中对API方法进行分组 - 是否存在一些自定义属性

我有控制器喜欢

public class UserController : ApiController
{
  [Route("api/user")]
  IHttpActionResult GetUser() { ... }
}

public class ResumeController : ApiController
{
  [Route("api/user/resumes")]
  IHttpActionResult GetResumes() { ... }
}
Run Code Online (Sandbox Code Playgroud)

在swagger上产生的输出就像 在此输入图像描述

有没有办法(除了通过推出自己ISwaggerProvider或将两个控制器合并为一个来覆盖默认实现)来强制执行组名?就像是

public class UserController : ApiController
{
  [Route("api/user")]
  [MagicalAttributeName(Group="User")]
  IHttpActionResult GetUser() { ... }
}

public class ResumeController : ApiController
{
  [Route("api/user/resumes")]
  [MagicalAttributeName(Group="User")]
  IHttpActionResult GetResumes() { ... }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api swagger-ui swashbuckle

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

Youtube Data API V3 - 没有视频网址

我正在使用youtube数据api版本3,以获取顶级YouTube视频,我正在调用这样的REST api:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?part=snippet&forMine=true&maxResults=10&order=viewCount&type=video&_h=6&

并获取这样的数据是json格式:

"kind": "youtube#searchResult",
"etag": "adasdasdasdasdas",
"id": 
{
  "kind": "youtube#video",
  "videoId": "123123asdsad12"
},
"snippet": 
{
  "publishedAt": "date",
  "channelId": "Gasdqqweqweqwr123123",
  "title": "my tutle",
  "description": "xyz",
  "thumbnails": 
  {
    "default": 
    {
      "url": "......jpg",
      "width": 120,
      "height": 90
    },
    "medium": 
    {
      "url": "......jpg",
      "width": 320,
      "height": 180
    },
    "high": 
    {
      "url": "......jpg",
      "width": 480,
      "height": 360
    }
  },
  "liveBroadcastContent": "none"
}
Run Code Online (Sandbox Code Playgroud)

但是这个数据不包含youtube视频网址,我怎样才能从api获取它?

youtube-api youtube-data-api

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

在C#中使用Cheat Engine中的指针

关于该计划

我有一个程序写入我正在试验的游戏的记忆.当我使用常规静态地址时,代码对我很有用,但出于某种原因,一旦找到工作指针,我似乎无法做到这一点.例如,我在指针扫描几次后在Cheat Engine中找到了这个:

在此输入图像描述

每次加载游戏并编辑值时,此地址都有效.问题是我不明白如何在我的程序中使用它.这是我尝试插入值的声明变量:

bool UnlimitedAmmo = false;
string AmmoPointer = "031B7324"; // <--- The address
int[] AmmoOffset = { 0x2c, 0x1e8, 0x3c8, 0x6d4, 0x508 }; // <--- It's pointers
int AmmoToFill = 1337; // <--- The Amount of ammo to give
Run Code Online (Sandbox Code Playgroud)

我传递这些变量如下:

MyMemory.ReadProcess = MyProcess[0];
MyMemory.Open();

int PointerAddress = HexToDec(AmmoPointer);
int[] PointerOffest = AmmoOffset;
int BytesWritten;
byte[] ValueToWrite = BitConverter.GetBytes(AmmoToFill);
string WrittenAddress = MyMemory.PointerWrite((IntPtr)PointerAddress, ValueToWrite, 
  PointerOffest, out BytesWritten);
MyMemory.CloseHandle();
Run Code Online (Sandbox Code Playgroud)

我曾经使用静态地址(对于不同的游戏),一旦插入地址和偏移量,我的代码工作正常.这次我很难过.任何帮助和解释都将深表感谢.提前致谢.

c# memory pointers cheat-engine

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

Task.Start .NET CORE无法加载DLL combase.dll错误Windows 7

我们有一些使用基本C#Task对象的代码.但是,在Windows 7计算机上进行开发时,尝试运行会Task.Start();导致:

抛出异常:System.Private.CoreLib.ni.dll中的"System.DllNotFoundException"

附加信息:无法加载DLL'combase.dll':找不到指定的模块(HRESULT异常:0x8007007E)

在Windows 10开发机器上运行此代码时,一切正常.

在为Windows 7做一个版本的combase.dll的研究时,我到目前为止空白了.

有没有其他人之前有这个错误,如果是这样,你是如何解决它的?

c# .net-core

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

数据是否可以将序列化程序用于任何第三方Web服务

我有一个大型的第三方网络服务; reference.cs是33 MB.使用Visual Studio 2017,代理使用XML Serializer,在创建通道时会导致5秒的延迟.我在微软开了一个案例,他们向我展示了如何修改reference.cs以使用Datacontract序列化器.在同一台机器上,通道创建时间为20毫秒,完全符合我的需求.

不幸的是,消息失败并带来微小的差异,微软的支持也无济于事.

有已知的限制吗?我应该寻找的任何模式确保它根本不起作用我应该开始使用HTTP请求重写所有内容?

导致整体延迟的实际方法:

public XmlMembersMapping ImportMembersMapping(string elementName, string ns,
  XmlReflectionMember[] members, bool hasWrapperElement, bool writeAccessors,
  bool validate, XmlMappingAccess access) {
  ElementAccessor element = new ElementAccessor();
  element.IsSoap = true;
  element.Name = elementName == null || elementName.Length == 0 ? elementName : 
    XmlConvert.EncodeLocalName(elementName);
}
Run Code Online (Sandbox Code Playgroud)

c# wcf datacontractserializer

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

如何打印 2 个整数但不添加它们?

我知道这似乎是一个愚蠢的问题(所以请原谅)。基本上这就是我想要做的:

int a = 5;
int b = 3;

System.out.print(a+b);
Run Code Online (Sandbox Code Playgroud)

这会给我 8,但是除了在其间放置一个空字符串来打印 5 和 3(而不是通过将 int 转换为字符串)之外,还有其他方法吗?

非常感谢。

java printing string int addition

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

Environment.Exit需要很长时间才能关闭应用程序

我想解决一个我不清楚的问题.呼叫时Environment.Exit(0),关闭应用程序大约需要22秒.

if (AppDomain.CurrentDomain.IsDefaultAppDomain())
{
    Environment.Exit(exitCode);
}
Run Code Online (Sandbox Code Playgroud)

你知道幕后发生了什么吗?我可能会抛出异常,但我检查了"例外"对话框中的所有复选框.

c# environment

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

MSBuild - 如何创建“关键部分”

我有多个项目的并行构建,每个项目在某个时间点都会调用<Exec />任务。此 exec 任务正在运行 3pty 工具,如果该工具的另一个实例正在运行,该工具就会崩溃。是否有一些本地方法如何在 msbuild 中实现“互斥”?

明显的解决方案(有效)是使构建同步 - 但这会减慢整个构建的速度。

msbuild mutex

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

正则表达式匹配文件名

我有一些文件名模板,如:

$subject-id$-subject-info.xml
$sampleId$-$subjectId$-sample-info.txt
$subjectId$-$sampleId$-sample-info.txt
$subjectId$-$sampleId$-image-$type$.png
$sampleId$-$subjectId$-image-$type$.jpg
image-$sampleId$-$subjectId$-$type$.jpg
Run Code Online (Sandbox Code Playgroud)

秩序type,sample-id,subject-id不经常设置.

我需要选择与此模板匹配的文件.

例如:

对于第一个模板加工字符串:

"123A-subject-info.xml" ($subject-id$ is string)
Run Code Online (Sandbox Code Playgroud)

第二个:

"2014-04-17-17-42-57-O1CD-sample-info.txt" ($sample-id$ is date time type)
Run Code Online (Sandbox Code Playgroud)

最后:

"image-2014-04-17-17-42-57-01CD-mini.jpg" ($type$ is another string)
Run Code Online (Sandbox Code Playgroud)

我怎么能用正则表达式做到这一点?我尝试使用split方法解析此字符串,但如果模板已更改,我需要不断重写此方法.

c# regex parsing

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