小编Joh*_*ing的帖子

递归文件夹创建

我坐着一个我似乎无法完成的脑筋急转弯.我正在尝试创建一个特定的文件夹结构.这里解释了结构:

在指定的根文件夹中,应用程序应创建10个文件夹,"0" - "10".在其中的每一个中,应该再次是文件夹'0' - '10'等.这必须继续到用户定义的级别.

使用for循环,到目前为止我已经成功实现了这一点,但可以想象一个递归函数看起来不那么混乱,但同时融化我的大脑试图找出它D:

static void Main(string[] args)
       {
            string basePath = Path.Combine(Environment.CurrentDirectory, "Lib");

            for (int a = 0; a < 10; a++)
            {
                CreateFolders(basePath);
                basePath = Path.Combine(basePath, a.ToString());

                for (int b = 0; b < 10; b++)
                {
                    CreateFolders(basePath);
                    basePath = Path.Combine(basePath, b.ToString());

                    for (int c = 0; c < 10; c++)
                    {
                        CreateFolders(basePath);
                        basePath = Path.Combine(basePath, c.ToString());

                        for (int d = 0; d < 10; d++)
                        {
                            CreateFolders(basePath);
                            basePath = Path.Combine(basePath, d.ToString());

                            basePath = Helpers.DirMoveBack(basePath); …
Run Code Online (Sandbox Code Playgroud)

.net c# recursion

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

Karma ng 测试不会在控制台中显示构建错误

我正在使用 Karma 和 Jasmine 在我的 Angular 7 项目中执行测试。但是,我遇到了一个非常恼人的情况,如果.spec.ts(或.ts) 文件中有任何错误,运行ng test不会在控制台中显示这些错误。

例如,如果我在文件中有重复导入:

import { DatepickerModule } from 'ngx-bootstrap';
import { DatepickerModule } from 'ngx-bootstrap';

@Component({...})
export class MyComponent { ... }
Run Code Online (Sandbox Code Playgroud)

正常情况ng serve将此报告为错误。然而,运行ng test并不总是这样做,它只是无法运行测试,用空白页打开 chrome,'Waiting for localhost...'并最终失败:

> ng test
10 % building modules 3 / 3 modules 0 active30 08 2019 11: 28: 31.213: WARN[karma]: No captured browser, open http://localhost:9876/
30 08 2019 11: 28: 31.296: INFO[karma - …
Run Code Online (Sandbox Code Playgroud)

typescript karma-jasmine angular

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

访问和保存对象集合中的XElements

我有以下场景,并希望获得有关该主题的一些帮助指导:

我有一个XML文件由一个简单的聊天应用程序组成的用户凭据(不用于商业用途,因此安全性在这种情况下没有任何意义).如果用户订阅了该服务,则其凭据应与XML文件中记录的凭据匹配.


XML文件的代码片段:

<Users>
 <User>
  <Username>Johan</Username>
  <Password>Johan123</Password>
 </User>
 <User>
  <Username>Carel</Username>
  <Password>Carel123</Password>
 </User>
  ...
  ...
</Users>
Run Code Online (Sandbox Code Playgroud)

然后我有以下课程:

public class Credentials
    {
        public string Username { get; set; }
        public string Password { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

Credentials类仅用于检索XML文件中记录的用户列表,以及检索特定用户.

我有以下代码可以从XML文件中检索元素:

public List<Credentials> RetrieveUsers()
        {
            Root = XElement.Load(path + "Users.xml");
            List<Credentials> credentials = new List<Credentials>();

            var xmlResults = from element in Root.Elements().Elements()
                     select new 
                     {
                           Username = element.Element("Username").Value,
                           Password = element.Element("Password").Value
                     };

            foreach(var xmlResult in xmlResults)
            {
                Credentials temp = new Credentials();

                temp.Username = …
Run Code Online (Sandbox Code Playgroud)

c# xml linq xelement

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

使用 Angular Observable 订阅会话存储密钥

我正在尝试实现我所希望的一个简单的“查看会话存储中的键并在它更改时更新它”的场景,但 Observables 真的让我失望了。

message$ = new Observable(observer => {
    observer.next(window.sessionStorage.getItem('message'));
});
    
ngOnInit() {
    this.message$.subscribe();
}
Run Code Online (Sandbox Code Playgroud)

并且 message$ 绑定到 HTML,非常简单:

<p id="message">{{message$ | async}}</p>
Run Code Online (Sandbox Code Playgroud)

Observable将输出文本到HTML是否已存在存储在“消息”的价值,但如果有关于初始化没有消息,然后将其添加,或消息值确实存在,更新,没有任何反应。我显然做错了什么,我很感激有知识的人的洞察力Observables

angular rxjs-observables

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