小编str*_*per的帖子

生成唯一ID

我是大学生,我们的任务是创建一个搜索引擎.当添加到边界时,我很难生成分配给每个URL的唯一ID.我曾尝试使用SHA-256哈希算法以及Guid.这是我用来实现guid的代码:

public string generateID(string url_add)
{
    long i = 1;

    foreach (byte b in Guid.NewGuid().ToByteArray())
    {
        i *= ((int)b + 1);
    }

    string number = String.Format("{0:d9}", (DateTime.Now.Ticks / 10) % 1000000000);

    return number;
}
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net uniqueidentifier

57
推荐指数
6
解决办法
18万
查看次数

如何在打字稿中使用 yup 的 object.shape?

我目前正在将一段代码转换为 TypeScript 并遇到一些类型问题yup。我尝试了多种方法并参考了yup关于 TypeScript 支持的文档来解决这个问题,但无济于事。

https://github.com/jquense/yup/blob/master/docs/typescript.md

这是我的代码示例:

import { object, Asserts, string } from 'yup';

interface BaseBootstrapSchema {  
  APPLICATION_NAME: string;
  LOG_PATH: string;
}

const bootstrapValidationSchema = object<BaseBootstrapSchema>().shape({ // error 1 here
  LOG_PATH: string().required("The 'LOG_PATH' ENV variable is required"),
  APPLICATION_NAME: string().required("The 'APPLICATION_NAME' ENV variable is required"),
});

interface BootstrapSchema extends Asserts<typeof bootstrapValidationSchema> {}

module.exports = (schema: BootstrapSchema) =>
  new Promise((resolve, reject) =>
    schema
      .validate(process.env, { abortEarly: false }) // error 2 here
      .then(() => resolve(true))
      .catch((error: any) …
Run Code Online (Sandbox Code Playgroud)

typescript yup

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

异步和等待结束在哪里?混乱

我有一个程序,没有任何目的,但帮助我了解如何异步和等待工作.它是一个控制台应用程序,它解析XML并等待返回名称,无论是姓氏还是名字.这是代码:

static void Main(string[] args)
{
     Task<string> name = GetFirstParsedName();
     name.Wait();
     if (name.IsCompleted)
     {
         Console.WriteLine(name.Result);
     }

     Console.ReadLine();
 }

static async Task<string> GetFirstParsedName()
{
  string xmlSnippet = @"<person>
<FirstName>Chamir</FirstName>
<Surname>Bodasing</Surname>
<Gender>Male</Gender>
<Nationality>South African</Nationality></person>";

  XmlDocument xmlDoc = new XmlDocument();
  xmlDoc.LoadXml(xmlSnippet);

  XmlParser xmlParser = new XmlParser();
  Task<string> t_GetFirstName = xmlParser.GetFirstName(xmlDoc);
  Task<string> t_GetSurname = xmlParser.GetSurname(xmlDoc);  

  Task<string> t_firstReturnedName = await Task.WhenAny(new Task<string>[] { t_GetFirstName, t_GetSurname });

  string firstReturnedName = await t_firstReturnedName;
  return firstReturnedName;    
}

static async Task<string> GetFirstName(XmlDocument personXml)
{
  string firstName = personXml.SelectSingleNode("//FirstName").InnerText;
  await …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous task-parallel-library async-await

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