小编Eri*_*ips的帖子

加速USB驱动器上的文件复制

我有一个具有以下文件夹结构的USB驱动器

<root of USB>
--  folder1
    -- folder1a
         -- file1ai
         -- file1aii
         -- file1aiii
    -- folder1b
         -- ...
    -- ...
--  folder2
    -- folder2a
    -- folder2b
    -- ...
--  folder3
    -- folder3a
    -- folder3b
    -- ...
Run Code Online (Sandbox Code Playgroud)

以编程方式我需要重新排列USB驱动器上的文件夹,如下所示

<root of USB>
-- new folder
    -- folder1a
    -- folder1b
    -- ...
    -- folder2
       -- folder2a
       -- folder2b
       -- ...
    -- folder3
       -- folder3a
       -- folder3b
       -- ...
Run Code Online (Sandbox Code Playgroud)

这里的代码示例工作得很好https://msdn.microsoft.com/en-us/library/bb762914%28v=vs.110%29.aspx但是当涉及大量文件夹时它超级慢,例如当folder1时有1000个子文件夹(folder1a,folder1b等),folder1的总大小约为4MB(磁盘上大约12MB) - 这些大小是不变的.所有文件夹的复制操作总共需要25分钟.有没有办法加快这个操作?我希望有一些超级聪明的方法来重命名文件夹/操纵分配表/无论如何使这种情况发生.

笔记:

  • 输入和最终重新排列的输出需要在USB驱动器上 - 这是一个sneakernet设置.
  • USB驱动器为FAT32或NTFS,大小为4GB.我们尝试过USB 3.0而速度没有提高.

c# windows file-io

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

将DateTime与Null一起使用

我在这里有这行代码:

command.Parameters["@DateCompleted"].Value = items[i].DateCompleted.Equals("01/01/0001 12:00:00 AM") ? null : items[i].DateCompleted;
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误:

Type of conditional expression cannot be determined because there is no implicit conversion between '<null>' and 'System.DateTime'
Run Code Online (Sandbox Code Playgroud)

我想要做的是不使用01/01/0001 Date并使用null,因为该项为null.

附加代码:

command.Parameters.Add("@DateCompleted", System.Data.SqlDbType.DateTime);
Run Code Online (Sandbox Code Playgroud)

c# asp.net

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

使用(显示)我当前视图中另一个模型的数据

没有代码可显示。我只是想明白一些事情。我已经做了一些 MVC 代码(我有一个模型,我要求 Visual Studio 创建控制器和视图)。每个视图仅与“一个模型”关联。因此,使用 Razor,我可以显示该模型的数据。我玩了我的代码,到目前为止我已经理解了。

但是......在同样的观点上,我们如何与另一个模型合作?

对我来说,模型只是一个具有属性等的类。我的数据库为每个模型都有一个等效的“数据表”。我可以用实体框架操纵它......没问题。但是,我需要在同一视图中使用来自不同模型(不同表)的数据,而 Visual Studio 不允许我在视图中使用另一个模型。

策略是什么?(或者也许我不明白一些事情......)

谢谢。

asp.net asp.net-mvc razor

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

强制 Visual Studio 在开始调试时重建

这与每次我进行更改时如何告诉 Visual Studio 重建有很大不同

问题是我修改了一个没有引用项目的 csproj(因为它是运行时依赖项)。

例如,在我的 csproj 文件中,我有:

<Import Project=".\UnreferencedProjects-Developer.targets" />
Run Code Online (Sandbox Code Playgroud)

在我的.targets文件中,我有:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="BuildDependencyForDevelopers" AfterTargets="Build">
    <Message Text="========================================" />
    <Message Text="Developer Building Unreferenced Projects" />
    <Message Text="========================================" />
    <!--MSBuild Projects="$(ProjectToBuild)"-->
    <MSBuild Projects="../OtherProject/OtherProject.csproj">
      <Output ItemName="ProjectOutputs" TaskParameter="TargetOutputs"/>
    </MSBuild>
    <Message Text="@(ProjectOutputs)"/>
    <Message Text="=======================================" />
    <Message Text="Developer Copying Unreferenced Projects" />
    <Message Text="=======================================" />
    <Copy SourceFiles="$(ProjectDir)\..\OtherProject\bin\$(Configuration)\OtherProject.dll" DestinationFolder="$(OutDir)" ContinueOnError="true"/>
    <Copy SourceFiles="$(ProjectDir)\..\OtherProject\bin\$(Configuration)\OtherProject.pdb" DestinationFolder="$(OutDir)" ContinueOnError="true"/>
    <Message Text="=============================================" />
    <Message Text="Developer Finished with Unreferenced Projects" />
    <Message …
Run Code Online (Sandbox Code Playgroud)

build visual-studio

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

配置文件INI?XML?其他?

我目前在一个学区工作,我们正在尝试为我们的工具包创建一个 C# exe。我们是 C# 新手,正在学习它,但由于它的灵活性而希望使用它。C# 工具包将用于自动设置新的或重新映像的计算机,其中包含我们选择的设置、程序、Regedit 更改和首选项。

我们有一个在 powershell 中硬编码的工作版本,我们正在将其转移到 c#。

我们当前面临的问题是如何使用设置/配置文件(例如 ini 或 xml)从函数和变量中提取通用信息并填充它们。这样我们就可以创建我们可以选择并运行的通用配置文件。例如:

[Server]
IP=172.1.0.10
Port=9999
PathToCSV=\\c:\Files.csv
[Client]
RestartComputerAfterScript=1
Install.Browser.Firefox=1
Install.Browser.Chrome=1
Install.Java=0
Install.PrinterLogic=1
SysConfig.TempLoc=d:\TEMP
Run Code Online (Sandbox Code Playgroud)

该 ini 文件将从我们的 C# GUI 中选择并填充:

  1. 使用值 1 运行脚本后计算机将重新启动
  2. Firefox 将使用值 1 安装
  3. 使用值 0 等将不会安装Java。

我们最终还将尝试传递其他变量,例如注册表路径和值等。

有人对我们如何使用 INI 有建议,或者对创建构建配置文件有更好的建议吗?

我研究过的资源:INI: https ://www.codeproject.com/Articles/1966/An-INI-file-handling-class-using-C

c# xml ini function

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

为什么我不这样做?

函数名在当前上下文中不存在是它给我的错误.我想要一个动态的ajax调用.为什么会这样?我得到处理程序处理服务器端,但我不知道如何解决这个问题.

var getManager = function (functionName, contentDiv) {
    console.log("aircraft manager refresh called");
    $.ajax({
        type: "GET",
        url: '@Url.Action(functionName, "AdminTools")',
        cache: false,
        data: {},
        error: function () {
            alert("An error occurred.");
        },
        success: function (data) {
            $("#".concat(contentDiv)).html(data);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

javascript ajax asp.net-mvc

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

根据单元格值更改行背景颜色

我需要根据单元格值更改表格行背景颜色,在此代码中我根据单元格值更改表格单元格背景颜色.但我需要根据单元格值更改整个行背景颜色.我可以这样做...

<script>
    $(document).ready(function () {
    $('body').append('<div class="container" ><h4 style="color:#069">Batch-4 2nd Semester Timetable</h4></div><br>');

    var html = '<div class="container" ><table class="table table-striped"></div>';
    html += '<tr>';
    var flag = 0;

    var data2   =   <?php echo $valMS; ?>;
    $.each(data2[0], function(index, value){
        html += '<th>'+index+'</th>';
    });
    html += '</tr>';

     $.each(data2, function(index, value){

        html += '<tr>';

        $.each(value, function(index2, value2){

            if(value2 == "Java"){
                html += '<td style="background-color: #7e57c2;">'+value2+'</td>';
            }
            else{
                html += '<td>'+value2+'</td>';
            }
        });


        html += '</tr>';
     });


     html += '</table>';
     $('body').append(html);
     console.log(html);
});
    </script>
Run Code Online (Sandbox Code Playgroud)

html css jquery tablerow

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

将自定义标记 (HTMLMarkers) 添加到聚类

我有一个Google Maps Clustering的工作代码笔演示。我正在尝试添加自定义 html 元素标记,以便我可以拥有像这样的动态文本:

在此处输入图片说明

但是,当我将我的自定义 html 元素标记脚本(它自己工作)添加到我的标记集群脚本时 - 它会中断。

这是我的脚本。如果您在损坏的部分(第 69 - 89 行)中发表评论 - 它会停止工作。

// WORKING

function initMap() {
  var map = new google.maps.Map(document.getElementById("map"), {
    zoom: 12,
    center: {
      lat: 37.773972,
      lng: -122.431297
    },
    gestureHandling: "greedy",
    disableDefaultUI: true
  });

  var labels = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

  var markers = locations.map(function(location, i) {
    return new google.maps.Marker({
      position: location,
      label: labels[i % labels.length]
    });
  });

  var markerCluster = new MarkerClusterer(map, markers, {
    imagePath:
      "https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m"
  });
}
var locations = [ …
Run Code Online (Sandbox Code Playgroud)

google-maps google-maps-api-3 google-maps-markers markerclusterer

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

C#Automapper,无法隐式转换为Task返回类型

我知道它看起来很简单,但我花了很多时间在这上面.

不知怎的,我无法成功返回列表...

public Task<List<MyViewModel>> getGoodElections(long actionId)
{
    var elections = _DBsource.ElectionTable.Where(e => e.ActionId == actionId && e.Status == "OK").ToListAsync();
    List< MyViewModel > list = Mapper.Map<List<MyViewModel>>(elections);
    return list;

}
Run Code Online (Sandbox Code Playgroud)

在"返回列表;",它给了我错误:

无法隐式转换System.Collections.Generic.List<MyViewModel>System.Threading.Tasks.Task<System.Collections.Generic.List<MyViewModel>>

有任何想法吗?

c# automapper

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

如果数组元素不存在则返回 null

如果数组元素不存在,是否有一种简单的方法来获取值“null”?

例如,下面的代码sArray有 3 个元素,前 3 个调用起作用SomeMethod(打印 true),但是第四个调用SomeMethod(sArray[3]);给了我一个IndexOutOfRangeException. 有没有办法让第四次调用SomeMethodprint 为 false?

    static void Main(string[] args)
    {
        int[] sArray = new int[]{1,2,3};
        SomeMethod(sArray[0]);
        SomeMethod(sArray[1]);
        SomeMethod(sArray[2]);
        SomeMethod(sArray[3]);
    }
    static void SomeMethod(int? s) => Console.WriteLine(s.HasValue);
Run Code Online (Sandbox Code Playgroud)

^更喜欢单行表达

c# arrays nullable .net-core

0
推荐指数
2
解决办法
3238
查看次数