小编NAS*_*SER的帖子

何时在c#中的堆栈上分配数组?

我一直试图找出什么时候在堆栈上分配的东西,我无法弄清楚如何在堆栈上分配数组(或者更确切地说是其中的值);

在这个例子中:

public void foo()
{
    int bar[] = new int [10];
}
Run Code Online (Sandbox Code Playgroud)

将在堆上分配10个int结构,只有指向它们的指针才会在堆栈上,对吗?

如何使固定大小的数组进入堆栈?如果我使用的是我定义的结果怎么办?

如果我想将数组大小作为参数传递给函数怎么办?

据我所知,当调用函数时,如果在调用函数时已知大小,则在堆栈上获取任意大小的数组应该没有问题.

我是否应该为此烦恼?据我所知,在堆栈上获取这个固定大小的数组会提高性能,因为没有完成堆分配.

c# arrays heap stack allocation

17
推荐指数
2
解决办法
7162
查看次数

实体框架6 + SQLite

我正在尝试使用EF6 alpha和SQLite 1.0.66.0

我的.config文件:

<connectionStrings>
   <add connectionString="data source=:memory:;" name="TestDbContext" providerName="System.Data.SQLite" />
</connectionStrings>
<entityFramework>
   <providers>
      <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
   </providers>
</entityFramework>
<runtime>
   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
     <dependentAssembly>
        <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
     </dependentAssembly>
   </assemblyBinding>
</runtime>
<system.data>
  <DbProviderFactories>
     <remove invariant="System.Data.SQLite"/>
       <add name="SQLite Data Provider" invariant="System.Data.SQLite"
           description=".Net Framework Data Provider for SQLite"
           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
  </DbProviderFactories>
</system.data>
Run Code Online (Sandbox Code Playgroud)

我跑的时候

using (var dbContext = new TestDbContext())
{
    if (dbContext.Database.Exists())
    {
        dbContext.Database.Delete();
    }
    dbContext.Database.Create();
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

System.InvalidOperationException:System.InvalidOperationException:实体框架提供程序类型'System.Data.SQLite.SQLiteFactory,System.Data.SQLite,Version …

sqlite ado.net entity-framework entity-framework-6

11
推荐指数
3
解决办法
3万
查看次数

我该如何模拟这个静态方法

我有这个代码:

public static bool IsValidVoucher(string id)
{
    //read tsv files
    var temp1 = AppData.GetAppData("stringval");            
    // code that need to be tested        
    return true;        
}
Run Code Online (Sandbox Code Playgroud)

我喜欢创建单元测试,但是如何模拟AppData.GetAppData("stringval")我想要的值,所以我可以测试其余的代码.

AppData类是:

public class AppData
{
    public static object GetAppData(string name)
    {
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

c# moq

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

在.net中的文件上载期间拒绝访问路径....

我无法在.net c#中上传文件.我使用以下代码:

try
{
    var provider = new MultipartMemoryStreamProvider();
    await Request.Content.ReadAsMultipartAsync(provider);
    foreach (var file in provider.Contents)
    {
         var mappedPath = System.Web.Hosting.HostingEnvironment.MapPath("~/Resources");                    
         var dataStream = await file.ReadAsStreamAsync();
         FileStream fileStream = File.Create(mappedPath, (int)dataStream.Length);
    }
    var response = Request.CreateResponse(HttpStatusCode.OK);
    response.Content = new StringContent("Successful upload", Encoding.UTF8, "text/plain");
    response.Content.Headers.ContentType = new MediaTypeWithQualityHeaderValue(@"text/html");
    return response;
}
catch (Exception e)
{
     return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message);
}
Run Code Online (Sandbox Code Playgroud)

这发生在localhost上.我有"访问路径...被拒绝"错误.我试图更改文件夹"资源"的安全权限,但可能我不知道添加完全控制的组/用户名.

我试过了:

  1. 选择computername并添加NETWORK SERVICE - 完全控制
  2. 选择computername并添加IIS_IUSERS - 完全控制
  3. 我已经尝试了以上所有并且还以管理员身份运行IDE

.net c# file-upload

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

如何在C#中分区或拆分DataTable?

我想拆分DataTable,以便我可以将其块从一个地方上传到另一个地方.

例如

先挑100行.
接下来的100行.
挑选下一行100行等等......

有没有办法像数据库中的光标一样做?我不喜欢使用循环等来计算行数.

c# sql datatable

6
推荐指数
2
解决办法
2万
查看次数

AngularJS:使用控制器和ng-repeat重新加载div上的数据

我是Angular JS的新手并且正在学习它.我有一个div并在启动时使用控制器从json加载数据以及下面的代码但我想在执行特定操作后更改json对象时再次重新加载它.

的index.html

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html ng-app="ezpf" xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <script src="lib/angular.js"></script>
        <script src="lib/jquery.min.js"></script>
    </head>
    <body onload="EZPF.Application.initialize()">
        <div id="btn-import" class="my-button button-small" onClick="EZPF.Application.openFile(this)">
                    <span class="button-title">Import</span>
                    <span class="button-help">This button will do something                         else.</span>                        
        </div>
        <div class="page" id="pro" ng-controller="ProductsListCtrl as store">
             <div ng-repeat="product in store.products.Products">                     
                  {{product.Title}}
             </div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

myAngular.js

(function()
{
    var app = angular.module('ezpf', []);
    app.controller('ProductsListCtrl',['$scope', function($scope)
    {
        this.products = EZPF.Application.getProducts();     
        $scope.reload = function()        
        {           
            $scope.products = EZPF.Application.getProducts();           
        };
    }]);
})();
Run Code Online (Sandbox Code Playgroud)

在下面的javascript文件中,我打开JSON文件并使用新数据重新加载产品对象.使用新的JSON文件内容更新后,我必须重新加载数据.我试图从控制器调用重新加载,但它无法正常工作.请帮助我,提前谢谢.

的application.js

var EZPF; …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery json angularjs

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

Android应用程序在Android OS 5.0上崩溃:android.system.ErrnoException:读取失败:EAGAIN

我开发了一个Android客户端 - 服务器应用程序.我已在我的应用程序中实现了Google map V2,以便用户可以在地图上查看他附近的地点.但是当我在地图和普通活动之间切换时,我的应用程序突然崩溃只在具有OS 5.0的Android设备上.我用过地图片段.以下是我得到的崩溃报告:

android.system.ErrnoException:读取失败:在libcore.io.BlockGuardOs.read上的libcore.io.Posix.read(Posix.java:147)上的libcore.io.Posix.readBytes(本机方法)中的EAGAIN(再试一次)( BlockGuardOs.java:230)位于com.android.server.am.NativeCrashListener的com.android.server.am.NativeCrashListener.consumeNativeCrashData(NativeCrashListener.java:240)的android.system.Os.read(Os.java:364) .RUN(NativeCrashListener.java:138)

这是我如何实例化我的谷歌地图:

mapView = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapview)).getMap();
Run Code Online (Sandbox Code Playgroud)

我搜索了很多,以找出这次崩溃的根本原因,但我一无所获.是特定于操作系统的问题,因为我没有从崩溃日志中获取任何信息,告诉我应用程序崩溃的位置.请引导我去抓住这次车祸.提前致谢..!!

android

6
推荐指数
0
解决办法
5326
查看次数

为什么Visual Studio中没有添加System.Design.dll的引用?

当我尝试使用"System.Windows.Form.Design"命名空间时,我必须在新项目中一直添加引用.可以告诉我一些情况吗?

c# reference visual-studio

5
推荐指数
2
解决办法
3437
查看次数

根据按月筛选的两个日期值获取数据

我有活动清单,每个活动有两个日期; 开始日期和结束日期.我想按月创建一个过滤器.如何返回用户选择的月份范围之间的日期?例如,假设用户选择月份10月,我想返回本月内的所有事件.

我用这个来获取今天日期之间的日期,但现在仍然坚持如何获得一个月之间的范围.

DateTime dateToCheck = DateTime.Today.Date;
DateTime startDate = DateTime.Parse(item["Start Time"].ToString());
DateTime endDate = DateTime.Parse(item["End Time"].ToString());
foreach (SPListItem item in collection)
{
    if (startDate <= dateToCheck && dateToCheck < endDate)
    {
         ListBox1.Items.Add(item["EventTitle"].ToString());
    } 
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net

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

文件格式无效Richtextbox c#

错误:文件格式在Richtextbox中无效.

我的代码在这里:

var webClient = new WebClient(); //Make sure to reference System.Net
richTextBox1.Rtf = webClient.DownloadString("http://koolkool.freevnn.com/tool/Documents/invitePK.rtf")
Run Code Online (Sandbox Code Playgroud)

请帮我.图像错误:在此输入图像描述

c#

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