小编Ale*_*lex的帖子

不能在C#中使用stackalloc来初始化先前声明的指针吗?

我刚刚发现stackallocC#的符号有一个令人难以置信的怪癖,请看下面的代码:

//          int *p;
//          p = stackalloc int[42];  // won't work! 
//  Error CS1525: Unexpected symbol `stackalloc' (CS1525) 

            int *p = stackalloc int[42]; //works
Run Code Online (Sandbox Code Playgroud)

我的意图是在这样的三元表达式中使用stackalloc:

int *p = size > 0xFFFFF ? (int*)Marshal.AllocHGlobal(size).ToPointer() : stackalloc int[size];
Run Code Online (Sandbox Code Playgroud)

令人意外的编译器罢工让我感到震惊.如果有人能对这种奇怪的行为有所了解,我真的很感激.我已经在mono和.net上进行了测试,但都没有效果.

c# stackalloc

4
推荐指数
2
解决办法
683
查看次数

使用foreach循环为c#中的两个列表创建列表值

List<String> listA = new List<string> { "A1", "A2" };
List<String> listB = new List<string> { "B1", "B2" };

for(int i = 0; i < listA.Count; i++)
{
    text += listA[i] + " and " + listB[i];
}
Run Code Online (Sandbox Code Playgroud)

如何使用foreach循环执行此操作?

c# foreach loops list

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

在CRM 2011超链接中查看报表不起作用

我有一个包含相当简单的报告的RDL文件,而该报告又必须部署到CRM 2011.

报告本身运作良好,按预期显示数据; 它应该工作,只在内部部署,所以它利用以获取数据筛选视图中直接SQL访问.

当我尝试插入旨在让用户快速打开记录的超链接时,我发现它们显然在我预览报告时应该工作,但是在部署到CRM时,它们被剥夺了"活动"部分,并且所有我留下的是一条彩色的文字.我没有收到任何错误,报告本身仍然完美无缺.

我引用了这个链接来构建"活动"文本 - > CRM报告钻取操作,基本上是文本框的"Action"属性,以及CRM_URL参数,如下所示:

这在文本框属性 - >操作 - >"转到URL"中

=Iif(IsNothing(Parameters!CRM_URL.Value), 
    "", 
    Parameters!CRM_URL.Value + 
        "?ID={" + Fields!id.Value.ToString() + 
        "}&LogicalName=myEntitySchemaName")
Run Code Online (Sandbox Code Playgroud)

我试图清理谷歌,但感觉要么没有人遇到同样的问题,或者解决方案是如此微不足道没有人写任何关于它.

以前有人遇到过这个问题,知道如何面对吗?

更新 后用代码搞砸了更多

我试图用作"go to url"动作的表达式实际上是正确评估的.如果我将其复制粘贴为文本框的内容表达式,我可以看到完整的URL(反过来,在浏览器中复制粘贴时会按预期打开记录).

另一个(可能不是)有用的信息是我们的环境正在运行CRM 2011 UR3

reporting-services dynamics-crm-2011

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

当 NULL 锚点在 NOT NULL 字段上重复出现时,如何解决 CTE 中的类型不匹配问题

在最终要提供 SSRS RDL 文档的 SQL 脚本中,我尝试利用 CTE 递归地获取我的数据。

实际的 SQL 代码太大,无法复制粘贴到此处,但我编写了这个简短的重现:

declare @temp table
(
id uniqueidentifier not null default(newid()),
name varchar(100) not null default('new'),
value varchar(100) not null default('newValue'),
parentid uniqueidentifier null
)

insert into @temp (id, name, value, parentid) values ('12312312-1234-1234-1234-123412341234', 'o1', 'val1', null)
insert into @temp (id, name, value, parentid) values ('12312312-1234-1234-1234-123412341235', 'o2', 'val2', '12312312-1234-1234-1234-123412341234')
insert into @temp (id, name, value, parentid) values ('12312312-1234-1234-1234-123412341236', 'o3', 'val3', '12312312-1234-1234-1234-123412341234')

;with
    cte(id,name, value, pid, pname, pvalue) as (
        select id, …
Run Code Online (Sandbox Code Playgroud)

t-sql common-table-expression

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

如何配置Fiddler的自动回复器将主机"映射"到文件夹?

我正在使用Fiddler拦截特定远程文件的请求,而我正在处理它们(因此我可以在本地调整它们而不触及已发布的内容).

即我使用这样的许多规则

match:    regex:(?insx).+/some_file([?a-z0-9-=&]+\.)*
respond:  c:\somepath\some_file
Run Code Online (Sandbox Code Playgroud)

这非常有效.

我现在要做的就是更进一步,这样做

match:    regex:http://some_dummy_domain/(anything)?(anything)
respond:  c:\somepath\(anything)?(anything)
Run Code Online (Sandbox Code Playgroud)

或者,用明文,

拦截任何对'some_dummy_domain'的http请求,进入'c:\ somepath'并使用最初请求的相同路径和名称获取文件.查询字符串应该通过.

一些方案进一步澄清:

http://some_domain/somefile       --> c:\somepath\somefile
http://some_domain/path1/somefile --> c:\somepath\path1\somefile
http://some_domain/path1/somefile?querystring --> c:\somepath\path1\somefile?querystring
Run Code Online (Sandbox Code Playgroud)

我试图利用我已有的东西:

match:    regex:(?insx).+//some_dummy_domain/([?a-z0-9-=&]+\.)*
respond:  ...
Run Code Online (Sandbox Code Playgroud)

基本上,我正在寻找//some_dummy_domain/请求.这似乎在测试时正确匹配,但我想知道如何回应.

Fiddler可以在回复中使用匹配,我怎样才能正确设置?

我试图回应,c:\somepath\$1但Fiddler似乎逐字对待:

match:   regex:(?insx).+//some_domain/([?a-z0-9-=&]+\.)*
respond: c:\somepath\$1

request:  http://some_domain/index.html
response: c:\somepath\$1html        <-----------
Run Code Online (Sandbox Code Playgroud)

regex proxy fiddler

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

LINQ的字数统计

我需要通过LINQ统计.这是我用来计算长字符串数组中的单词的代码,但这不是很有效:

public static int WordCount(string haystack, string needle)
{
    if (needle == null)
    {
        return 0;
    }

    string[] source = haystack.Split(new char[] { '.', '?', '!', ' ', ';', ':', ',', '*', '-' }, StringSplitOptions.RemoveEmptyEntries);
    var matchQuery = from word in source
        where word.ToLowerInvariant() == needle.ToLowerInvariant()
        select word;
    int count=matchQuery.Count();
    return count;
}
Run Code Online (Sandbox Code Playgroud)

假设我有一个这样的字符串:

Geo Prism GEO 1995 GEO* - ABS #16213899 HGEO-
Run Code Online (Sandbox Code Playgroud)

如果我试图在上面的句子中找到GEO,我的例行程序不会返回正确的计数:我期望4.我的日常生活有什么问题?

c# linq

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

关键字global ::添加引用时

我今天遇到了一个奇怪的现象,因为我将一个项目的引用添加到另一个项目并尝试使用引用的程序集的接口:

情况:

  • 该课程MySampleApplication在该项目中MyApplication.
  • 接口IMySampleApplication位于引用的项目中MyApplication.Interfaces.

当我这样做:

public class MySampleApplication : IMySampleApplication
Run Code Online (Sandbox Code Playgroud)

Resharper使用以下内容添加以下内容:

using global::MyApplication.Interfaces;
Run Code Online (Sandbox Code Playgroud)

题:

为什么要添加global::前缀,我该如何避免这种情况?

提前致谢

.net c# resharper reference

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

将OrderBy应用于模型属性的int成员时,会出现不正确的数据吗?

我试图在我的一个视图中实现一个排序机制,但它看起来像OrderBy无法处理"大"(更多下面)整数字段,最终以混乱的顺序结束.

以下是所涉及的所有代码,尽可能地删除:

楷模:

public class MyModel
{
    public MyOption Option { get; set; }
}
public class MyOption
{
    public int Value {get; set;}
    public string Descr{get; set;}
}
Run Code Online (Sandbox Code Playgroud)

DisplayTemplates\MyOption

@model MyOption
@Html.Label(Model.Description)
Run Code Online (Sandbox Code Playgroud)

控制器的返回视图:

@model List<MyModel>
<ul>
@foreach(var row in Model)
{
    <li>@Html.DisplayFor(x => row.Option)</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud)

控制器:

private List<MyModel> FakeRetrieveFromRepo()
{
    return new List<MyModel>
    {
        new MyModel { Option = new MyOption { Value = 121370002, Descr = "One" }},
        new MyModel { Option = new MyOption …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net-mvc-4

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

PHP mysqli条件大于或小于符号错误

我在mysqli准备好的声明中遇到了以下奇怪的问题

这是我的示例查询和参数

SELECT * from ecf_request WHERE id > ? OR id < ?
...
$stmt->bind_param("ii", $id, $id1); //5, 10
Run Code Online (Sandbox Code Playgroud)

当我使用只是=它的正常工作,但对环境><条件,它不工作.我收到了"Number of variables doesn't match number of parameters in prepared statement"错误

在准备好的陈述中是否可以使用大于和小于符号?

我需要为日期过滤条件实现它.两个日期之间的记录.

提前致谢

php mysqli

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

c#命名空间不能直接包含字段或方法等成员

任何人都能说出这里有什么问题吗?我只是创建一个文件夹调用模型并添加新类BaseEntity,我得到错误.直到现在我添加新课时没有收到此错误...

在此输入图像描述

c# .net-core

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