小编bag*_*ilk的帖子

从字符串列表中删除空条目

我正在寻找一种更有效的方法从字符串列表中删除空字符串值.

下面的代码可以工作,但对于非常大的数据集,这似乎效率低下.有没有更有效的方法来做到这一点?

仅供参考 - 开始只是构建一个数据集,以包含一个包含空字符串的列表

public static void Main()
{       
    //Building the data set
    List<List<string>> list = new List<List<string>>();
    list.Add(new List<string> {"One", "Two", "", "Eight"});
    list.Add(new List<string> {"Three", "Five", "Six"});
    list.Add(new List<string> {"Sixteen", "", ""});
    list.Add(new List<string> {"Twenty-Eight", "Forty", "Nine"});

    //Create an empty List of a List
    List<List<string>> newList = new List<List<string>>();

    //Loop through the original list and purge each list of empty strings
    for(int i = 0; i < list.Count; i++) {
        newList.Add(list[i].Where(x => !string.IsNullOrEmpty(x)).ToList());
    }

    foreach (var s …
Run Code Online (Sandbox Code Playgroud)

c# linq list

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

React JS - 模态关闭后重置表单数据

我试图在模式关闭时重置我的表单数据。我认为我的部分问题是表单数据<Mint>位于另一个组件中。

老实说,每当显示或隐藏模式时我都想重置数据。因此,如果有一种方法可以重置toggleModalOne()函数内的表单数据,那就太棒了,但我不知道如何做。

任何意见是极大的赞赏。

// BuyIt.jsx

import React, { useState } from "react";
import TextLoop from "react-text-loop";
import Modal from "react-modal";
import Mint from "../../components/slider/mint.js";

const BuyIt = () => {
   const [isOpen, setIsOpen] = useState(false);

  function toggleModalOne() {
    setIsOpen(!isOpen);
  }

  return (
     <div className="div-buyNowBtn">            
            <button id="buyNowBtn" className="white-fill-bg btn-outline btn-lg" onClick={toggleModalOne}>
              Buy Now
            </button>
          </div>
      
     <Modal
         isOpen={isOpen}
         onRequestClose={toggleModalOne}
         contentLabel="My dialog"
         className="custom-modal"
         overlayClassName="custom-overlay"
         closeTimeoutMS={500}
      >
         <Mint/>
      </Modal>

  );
}

Run Code Online (Sandbox Code Playgroud)

modal-dialog reactjs

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

PHP显示MySQL表数据PDO

我是一个PHP菜鸟,我一直收到这个错误:
解析错误:语法错误,意外的文件结束...

它指向的线是最后一行.我的'header.php'声明了!DOCTYPE html,我的'config.php'保存了数据库属性.

任何帮助将不胜感激.

<?php
  include 'config.php';
  include 'header.php';
?>

<div id='wrapper'>
<div style='height:50em;width:100%;z-index:10;margin-top:1em;text-align:left;'>
        <table id='mainDPUtable'>
            <th class='cen'>NUM</th>
            <th class='cen'>TYP</th>
            <th class='cen'>LVL</th>
            <th class='cen'>Job No.</th>
            <th class='cen'>Responsible</th>
            <th class='cen'>Rep</th>
            <th class='cen'>Initiated</th>
            <th class='cen'>Age</th>                
            <th class='cen'>Part Number</th>
            <th class='cen'>Qty</th>
            <th class='cen'>Description</th>
            <th class='cen'>Location</th>
            <th class='cen'>Complete</th>
        <?php
        $db = new PDO("mysql:host=localhost;dbname=".$dbname.",".$user.",".$pswd);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $result = $db->prepare("SELECT NUM, TYP, LVL, JOBNO, RESP, REP, DATE_INITIATED, AGE, PARTNO, QTY, DESCRIPTION, LOC  FROM ".$dbtable);
        $result->execute();
        while ($row = $result->fetch(PDO::FETCH_ASSOC)){
            $num=$row["NUM"];
            $typ=$row["TYP"];
            $lvl=$row["LVL"];
            $jobNo=$row["JOBNO"];
            $resp=$row["RESP"];
            $rep=$row["REP"]; …
Run Code Online (Sandbox Code Playgroud)

php mysql parsing

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

php将循环数据保存到数组中

我是php的新手.我有一个jQuery脚本,将生成新元素.用户单击"提交"并转到page2.php.这就是我需要一个php循环来确定用户创建了多少文本输入的地方.

page1.php中

<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.min.js'>   </script>
<script type='text/javascript'>
$(document).ready(function() {
    $('#btn').click(function() {
        var x = parseInt($('#hidtxt').val()) + (1*1);
        var z = "<input type='text' id='txt" + x + "' name='txt" + x + "' size='10'/>";
        $('#main').append(z);
        $('#hidtxt').val(x);
    });
});
</script>
</head>
<body>
  <form name='myform' action='page2.php' method='post'/>
    <input type='hidden' value='1' name='hidtxt' id='hidtxt'/>
    <div id='main'>
      <input type='text' id='txt1' name='txt1' size='10'/>
    </div>
    <input type='button' id='btn' name='btn' value='Add Text Box'/>
    <input type='submit' value='Submit' id='subBtn' name='subBtn'/>
  </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后是page2.php

<?php
    //CREATE …
Run Code Online (Sandbox Code Playgroud)

php foreach post for-loop

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

在启动时,每10秒运行一次AJAX请求

这是对这里发现的SO问题的回应 - > 每10个轮询一次

SO帖子有所帮助,但是当我试图将它符合我的需求时,它就没有用完了.

我有一个PHP脚本,将随机数据输入我的数据库.当我将浏览器直接指向'create_new_job.php'时,脚本运行正常.我的问题是,一旦我的主页加载,我似乎无法每10秒运行一次ajax请求来运行脚本.

我的php脚本将数据插入数据库:'create_new_job.php'

我的主页:index.php

这是在我的index.php中:

<script>
    function newjobs() {
    var inputjob = $.ajax({
                    url: "create_new_job.php",
                    complete: schedulenewjobs
                    });
    inputjob.done(function(data) { alert('Job added!'); }
    inputjob.fail(function(data) { alert('Job not added....'); }
}

function schedulenewjobs() {
    setTimeout(function() { newjobs(); }, 10000);
}
</script>
Run Code Online (Sandbox Code Playgroud)

首先,我遇到了错误

inputjob.fail(.....

但当我删除'完成'和'失败'通知时,没有任何反应.没有插入数据,我没有收到任何错误.

我不是想要检索任何数据 - 我只想每10秒运行一次'create_new_job.php'.

任何帮助将不胜感激.

php ajax jquery

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

使用LINQ列出<List <string >>唯一排列

我需要一种算法,它可以在List中使用任意数量的List并生成一组唯一的排列.我更喜欢找到LINQ解决方案.

我实际上有一个运行良好的Javascript函数,我正在尝试用C#重新创建它(参见底部的代码)

C#(我的尝试) - Visual Studio不喜欢我的第二个Aggregate().它说 the arguments cannot be inferred from usage

public static void testit()
{
    List<List<string>> master = new List<List<string>>();

    List<string> voltages = new string[] { "208", "230", "460" }.ToList();
    List<string> sysConfigs = new string[] { "10205", "10210", "10215", "10220" }.ToList();

    master.Add(voltages);
    master.Add(sysConfigs);

    var amp = master.Aggregate(
            (a, b) => a.Aggregate(
                (r, v) => r.Concat(
                    b.Select(w => new List<string>().Concat(v, w))
                ), new List<string>()
            )
    ); 
}
Run Code Online (Sandbox Code Playgroud)

这个新集合的输出应该如下所示:

/*
   OUTPUT (displayed as arrays - but will be lists): …
Run Code Online (Sandbox Code Playgroud)

c# arrays permutation

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

C#List <string>的所有唯一组合

这个问题已被多次询问过,但我见过的每个SO帖子都想要一个特定的长度值,而我只是想知道每个独特的组合,无论长度如何.

下面的代码仅提供了一个列表,其中恰好有3个组合条目(并且它们不是唯一的).

List<string> list = new List<string> { "003_PS", "003_DH", "003_HEAT" };
var perms = list.GetPermutations();

public static class Extensions 
{
    public static IEnumerable<IEnumerable<T>> GetPermutations<T>(this IEnumerable<T> items)
    {
        foreach (var item in items)
        {
            var itemAsEnumerable = Enumerable.Repeat(item, 1);
            var subSet = items.Except(itemAsEnumerable);
            if (!subSet.Any())
            {
                yield return itemAsEnumerable;
            }
            else
            {
                foreach (var sub in items.Except(itemAsEnumerable).GetPermutations())
                {
                    yield return itemAsEnumerable.Union(sub);
                }
            }
        }
    }
}

/*
  OUTPUT:
      003_PS,   003_DH,   003_HEAT
      003_PS,   003_HEAT, 003_DH
      003_DH,   003_PS,   003_HEAT
      003_DH,   003_HEAT, 003_PS …
Run Code Online (Sandbox Code Playgroud)

c# combinations permutation

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

Razor C#SqlDataClient错误

(使用Visual Studio 2015/ASP.net和C#)

我收到的错误是:

System.Datal.dll中发生类型为"System.Data.SqlClient.SqlException"的异常,但未在用户代码中处理.
附加信息:')附近的语法不正确

我已经测试过的SQL语句,它运行得很好,我检查了每个括号,似乎无法弄清楚这里有什么问题?

有人可以帮忙吗?

代码在这里(我指出VS标记的行)

 <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>First</th>
                <th>Last</th>
                <th>Email</th>
                <th>Permission</th>
            </tr>
        </thead>
  <tbody>
            @{
                string connStr = ConfigurationManager.ConnectionStrings["myConnString"].ConnectionString;
                var sql = "SELECT * FROM tbl_users ORDER BY Id ASC)";
                using (SqlConnection conn = new SqlConnection(connStr))
                {
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        conn.Open();
                        SqlDataReader reader = cmd.ExecuteReader();  //*** This is the line that VS flags **

                        while (reader.Read())
                        {
                            <tr>
                                <td>@reader["Id"].ToString()</td>
                                <td>@reader["FNAME"].ToString()</td>
                                <td>@reader["LNAME"].ToString()</td>
                                <td>@reader["USERNAME"].ToString()</td>
                                <td>@reader["EMAIL"].ToString()</td>
                                <td>@reader["PERMISSION"].ToString()</td>
                            </tr>
                        }
                        if (!reader.IsClosed)
                        { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net razor

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