小编Eri*_*ips的帖子

导出动态变量

我正在尝试在node.js中导出一个变量,如下所示:

let news = [];

const fetchNews = new Promise ((resolve, reject) => {

  let query = 'SELECT id, name FROM news';

  mysql.query(query, [], (error, results) => {

    if (error)
      reject({error: `DB Error: ${error.code} (${error.sqlState})`})

    results = JSON.parse(JSON.stringify(results));

    news = results;

    resolve(results);

  });

});

if(!news.length)
  fetchNews
    .then(results => {news = results})
    .catch(err => {console.log('Unable to fetch news', err)});

exports.news = news;
Run Code Online (Sandbox Code Playgroud)

当我在其他模块中使用此代码时,如下所示:

const news = require('./news.js').news;

console.log(news);
//returns [];
Run Code Online (Sandbox Code Playgroud)

有人可以在第一段代码中指出我的错误吗?

node.js promise node-modules

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

使用AesManaged ECB或CBC进行加密/解密无法使用.bin文件

我找到了这段代码并在VS 2017 C#中使用它来加密和解密文件.如果我加密.txt文件,然后解密文件并将解密的输出与原始文件进行比较,则匹配.如果我尝试使用.bin文件,它不匹配,我无法弄清楚原因.我认为它应该适用于任何类型的文件?谁能看出问题是什么?

static void AESEncryptCBC(string plainText, Stream encryptedOutput, byte[] key)
    {
        if (plainText == null || plainText == string.Empty)
            return;

        if (key == null | key.Length == 0)
            return;

        if (encryptedOutput == null)
            return;



        using (var aes = new AesManaged())
        {
            aes.Key = key;


            var salt = new byte[16];

            using (var rngCSP = new RNGCryptoServiceProvider())
            {
                rngCSP.GetBytes(salt);
            }
            aes.IV = salt;


            using (var encryptor = aes.CreateEncryptor())
            {
                encryptedOutput.Write(salt, 0, salt.Length);//write the salt to the begining of the stream


                using …
Run Code Online (Sandbox Code Playgroud)

c# encryption

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

将一个对象添加到多个数组,并保持每个副本之间的差异?

基本上,我想创建一个对象,然后将该对象添加到一堆不同的数组中,并确保如果一个数组更改了对象的值,则其他数组中的其他对象不会更改其值。

例如,假设我宣布一把枪,其中50枚子弹以整数形式存储:

Gun tommygun = new Gun(50);
Run Code Online (Sandbox Code Playgroud)

我有两名士兵,每个士兵都有枪支清单,并在每个士兵中都添加了一个“地雷枪”。

Soldier1.Guns.Add(tommygun);
Soldier2.Guns.Add(tommygun);
Run Code Online (Sandbox Code Playgroud)

士兵1开枪:

Soldier1.Shoot(Soldier1.Guns[0]);
Run Code Online (Sandbox Code Playgroud)

这会使Soldier1的弹药减少1。现在是49。这是否还会减少Soldier2的弹药?如果是这样,我如何避免在不为每位士兵创建单独的弹药的情况下避免这种情况?

c# arrays object instance

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

三元疯狂

我有一个前同事,喜欢速记javascript.

今天,我遇到了这条线,我不知道如何破译它.

var originalSrc = (wheelBuilder.ANGLE_VIEW == "front" 
                   && $(this).parent().attr("id") == "builder_wheel" 
                   && wheelBuilder.CAR_VISIBLE == false) 
                  ? $(this).attr("data-original-front-src") 
                  : $(this).attr("data-original-src");
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

方法调用甚至不会编译

只是学习C#作为Unity脚本.以下内容无法编译.通过将代码置于"无效更新"中我已经解决了这个问题,但我显然错过了一些东西.我在编译器失败的地方发表评论.

任何启蒙都将不胜感激!

using UnityEngine;
using System.Collections;

public class ThrottleControl : MonoBehaviour {
    public float 
        ThrottlePosition,
        ThrottleEffectiveness,
        ThrottleReturnSpeed;

    private string ThrottleStr = "Throttle";

    void GetThrottlePosition()
    {
        if (Input.GetButtonDown (ThrottleStr)) 
        {
            //code here eliminated for clarity
        }
    } // GetThrottle Position


    // Use this for initialization
    void Start () {
        ThrottleEffectiveness = 0.1f;
    }

    // Update is called once per frame
    void Update () { //compiler error here about allowed statements
        GetThrottlePosition; 
    }
}
Run Code Online (Sandbox Code Playgroud)

只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句

c#

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

在两个List <string>中查找不同的匹配项

我是C#的新手并且到处寻找这个但是如果已经被问到的话就找不到答案.我试图使用for循环来比较2个列表:

IList<string> List1 = new List<string> { usr.User1, usr.User2, usr.User3, usr.User4 };

IList<string> List2 = new List<string>{ "Tim", "Bob", "Brian", "Paul" };
Run Code Online (Sandbox Code Playgroud)

基本上我希望只有4个可能的匹配,所以只有这些可能的匹配应该计算:

usr.User1 == "Tim", // e.g. User1 has to be Tim etc.
usr.User2 == "Bob", 
usr.User3 == "Brian", 
usr.User4 == "Paul"
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望返回一个值为0-4的int,所以如果上面的所有匹配都成功,那么它将返回4,如果没有匹配成功则返回0等.

我试过了:

 int score = 0;

 for (int i = 0; i <= List2.Count; i++)
 {
    if (List1[i] == List2[i]) 
    {
        score++;
    }
 } 
Run Code Online (Sandbox Code Playgroud)

但目前正在获取IndexOutOfRangeException.非常感谢.

c#

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

非静态字段、方法或属性“object.GetType()”需要对象引用

I\xc2\xb4m 收到此类错误:

\n\n
\n

非静态字段、方法或属性“object.GetType()”需要对象引用

\n
\n\n
XmlSerializer rd = new XmlSerializer(Roll.GetType())\n
Run Code Online (Sandbox Code Playgroud)\n\n

班级:

\n\n
  public class Roll\n{\n    public int Code = 0;\n    public string Name = "";\n    public DateTime Date = DateTime.MinValue;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您需要更多信息,请告诉我。

\n\n

谢谢

\n

c#

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

在列表 &lt;string&gt; 中搜索不区分大小写的精确匹配

我有一个这样的单词列表:

List<string> list = new List<string>();
list.Add("Horse");
list.Add("Shorse"):
Run Code Online (Sandbox Code Playgroud)

我想在列表中搜索特定字符串,无论大小写,但如果我这样做,它必须是完全匹配的

if (list.Contains("horse",StringComparer.CurrentCultureIgnoreCase)) 
{ 
    //do something
}
Run Code Online (Sandbox Code Playgroud)

它将同时找到 Horse 和 Shore。

我如何实现自己的自定义 Contains 方法来找到完全匹配的内容?

c#

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

私有类中的公共构造函数有什么用

我定义了以下类结构:

public sealed class PublicClass
{
    private PrivateClass privateClass;

    public PublicClass()
    {
        this.privateClass = new PrivateClass();
    }

    private sealed class PrivateClass
    {
        public PrivateClass()
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么需要将 PrivateClass 的构造函数设为“public”或“internal”才能在 PublicClass 的构造函数中构造 PrivateClass 的实例?在 PrivateClass 构造函数上使用“protected”或“private”修饰符会引发编译错误。

c#

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

排序字符串列表

当我尝试在C#中对字符串列表进行排序时,结果有点奇怪,

List<string> a = new List<string>();
a.Add("test1");
a.Add("test12");
a.Add("bbb");
a.Add("a");
a.Add("aaa");
a.Add("AAAaaAA");
a.Sort();
Run Code Online (Sandbox Code Playgroud)

我剩下的是

a
bbb
test1
test12
aaa
AAAaaAA
Run Code Online (Sandbox Code Playgroud)

我不明白为什么

aaa 
AAAaaAA
Run Code Online (Sandbox Code Playgroud)

到底是什么时候?任何人都可以解释为什么会这样吗?

c#

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

处理同一控制器的多个实例

我目前正在ASP.NET CORE 2.0中开发一个应用程序

以下是我的控制器中的操作,当用户单击提交按钮时,该操作将被执行.

控制器内的动作

以下是被称为动作的函数

在此输入图像描述

作为防止数据库内部重复的措施,我有函数IsSignedInJob().该功能有效

我的问题:

有时,当互联网连接速度很慢或服务器没有立即响应时,可以多次单击"提交"按钮.重新建立连接后,浏览器(在我的案例中为Chrome)会向服务器发送多个HttpPost请求.在这种情况下,函数(来自不同实例的相同函数)的执行时间非常接近,在数据库发生更改之前,其他实例正在进行相同的更改,而不会相互了解.

有没有办法在服务器端解决这个问题,而不是"hacky"?

谢谢

c# asp.net-mvc multithreading entity-framework

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

我应该如何在VS中使用以下代码?

我们最近收到了一堆带制表符分隔符的文件.

我们在sql server数据库中导入它们时遇到了困难.

发送文件的供应商也发送了以下代码供我们用于将文件从制表符转换为逗号分隔符.

如何在visual studio中使用此文件.

我曾多次使用visual studio,但我还没有将它用于像这样的单个文件.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace TabToComma
{
   class Program
   {
      static void Main(string[] args)
      {
         StreamReader sr;
         StreamWriter sw;

         sr = new StreamReader(@"c:\input.txt");
         sw = new StreamWriter(@"c:\output.txt");

         string nextline;
         string replacedline;

         while (sr.Peek() >= 0)
         {
            nextline = sr.ReadLine();
            replacedline = nextline.Replace('\t',','); // replace each tab in line with a comma
            sw.WriteLine(replacedline);
         }
         sr.Close();

         sw.Close();

      }
   }

}
Run Code Online (Sandbox Code Playgroud)

或者,如果有人知道如何使用vbscript完成同样的事情,请指出我正确的方向.

非常感谢提前

c# vbscript

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