我有一个具有以下文件夹结构的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分钟.有没有办法加快这个操作?我希望有一些超级聪明的方法来重命名文件夹/操纵分配表/无论如何使这种情况发生.
笔记:
我在这里有这行代码:
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) 没有代码可显示。我只是想明白一些事情。我已经做了一些 MVC 代码(我有一个模型,我要求 Visual Studio 创建控制器和视图)。每个视图仅与“一个模型”关联。因此,使用 Razor,我可以显示该模型的数据。我玩了我的代码,到目前为止我已经理解了。
但是......在同样的观点上,我们如何与另一个模型合作?
对我来说,模型只是一个具有属性等的类。我的数据库为每个模型都有一个等效的“数据表”。我可以用实体框架操纵它......没问题。但是,我需要在同一视图中使用来自不同模型(不同表)的数据,而 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) 我目前在一个学区工作,我们正在尝试为我们的工具包创建一个 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 中选择并填充:
我们最终还将尝试传递其他变量,例如注册表路径和值等。
有人对我们如何使用 INI 有建议,或者对创建构建配置文件有更好的建议吗?
我研究过的资源:INI: https ://www.codeproject.com/Articles/1966/An-INI-file-handling-class-using-C
函数名在当前上下文中不存在是它给我的错误.我想要一个动态的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) 我需要根据单元格值更改表格行背景颜色,在此代码中我根据单元格值更改表格单元格背景颜色.但我需要根据单元格值更改整个行背景颜色.我可以这样做...
<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) 我有一个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
我知道它看起来很简单,但我花了很多时间在这上面.
不知怎的,我无法成功返回列表...
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>>
有任何想法吗?
如果数组元素不存在,是否有一种简单的方法来获取值“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)
^更喜欢单行表达