小编Ian*_*oyd的帖子

如何处理过滤器表达式中的撇号?

鉴于一些json:

{
  "firstName": "John",
  "lastName" : "doe",
  "age"      : 26,
  "address"  : {
    "streetAddress": "naist street",
    "city"         : "Nara",
    "postalCode"   : "630-0192"
  },
  "phoneNumbers": [
    {
      "type"  : "Bill's Automotive",
      "number": "0123-4567-8888"
    },
    {
      "type"  : "home",
      "number": "0123-4567-8910"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

I want to return the Bill's Automotive phone number object:

{
  "type"  : "Bill's Automotive",
  "number": "0123-4567-8888"
}
Run Code Online (Sandbox Code Playgroud)

Using Json.NET, which uses the jsonpath syntax, i have the filter expression:

phoneNumbers.[?(@.type=="Bill's Automotive")]
Run Code Online (Sandbox Code Playgroud)

And this works fine when you …

c# json.net jsonpath

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

递归变量自赋值有效吗?

我发现了一些 T-SQL 代码,我试图弄清楚它是否是:

\n
    \n
  • 一个我从来不知道的优雅的解决方案
  • \n
  • 一个可怕的令人厌恶的东西碰巧起作用了,绝对应该被移除
  • \n
  • 或介于两者之间。
  • \n
\n

标准化名称

\n

我们有一个要求尝试清理名称:

\n
    \n
  • Bob\xe2\x86\x92Robert
  • \n
  • Bill\xe2\x86\x92William
  • \n
  • Dick\xe2\x86\x92Richard
  • \n
\n

因此创建了一个表来保存该以及将其替换为的值。它包含上述单词(以及更深奥的、特定领域的、特定行业的映射):

\n

填充词

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n
价值用。。。来代替
迪克理查德
账单威廉
鲍勃罗伯特
特德威廉
\n
\n

我看到的用于执行替换的代码要么是天才,要么是疯狂:

\n
DECLARE @firstName varchar(200) = \'bill\';\nSELECT @firstName = REPLACE(@firstName, FillerWords.Value, FillerWords.ReplaceWith) FROM FillerWords;\nSELECT @firstName;\n
Run Code Online (Sandbox Code Playgroud)\n

这使:

\n
(no column name)\n----------------\nWilliam\n\n1 row(s) affected\n
Run Code Online (Sandbox Code Playgroud)\n

更令人印象深刻的是它可以一次进行多个替换: …

t-sql sql-server recursive-query

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

如何使用HTML标记构建图像?

我需要使用Microsoft的HTMLDocument对象以HTML格式显示报表和事物.

不幸的是,你可以给文档HTML标记,但你不能给它图像.它只能显示您从URL获得的图像,例如:

  • HTTP://
  • 文件://
  • RES://

作为一种解决方法,我想我可以使用HTML标记,逐个像素的像素构建图像.

这方面有没有工作?它应该绝对定位1x1彩色跨度吗?一个350x200的表,行和列的大小都是一个像素?

html image

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

在Lua中,为未声明的变量分配未定义的标识符意味着什么?

我正在阅读Lua代码文件,文件的顶部包含:

    1  | TradeSkillFrameReset = TradeSkillFrame_LoadUI;
    2  | 
    3  | TradeSkillFrame_LoadUI = function()
    4  |    TradeSkillFrameReset();
            ...
    112|    TradeSkillFrame_LoadUI = TradeSkillFrameReset;
            ...
    114| end;

他们正在完成任务的第一行:

TradeSkillFrameReset = TradeSkillFrame_LoadUI;
Run Code Online (Sandbox Code Playgroud)

此时,在代码文件中,它们将未声明的标识符(TradeSkillFrame_LoadUI)分配给未声明的变量(TradeSkillFrameReset).这是允许在Lua?

  • 变量声明隐含了吗?
  • 是否所有未声明的标识符都被假定为前向声明?

更令人困惑的是,第一个TradeSkillFrame_LoadUI似乎做的就是召唤自己:

TradeSkillFrame_LoadUI = function()
   TradeSkillFrameReset();
Run Code Online (Sandbox Code Playgroud)

这怎么不是无限循环?


编辑:添加对TradeSkillFrameReset和的剩余引用TradeSkillFrame_LoadUI.

lua world-of-warcraft

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

Delphi:如何隐藏祖先方法?

这是我之前关于如何隐藏继承的构造函数的问题的变体.你如何隐藏继承的方法:

在Delphi允许您构造COM对象的方式之后进行建模:

CoDOMDocument = class
   class function Create: IXMLDOMDocument2;
end;
Run Code Online (Sandbox Code Playgroud)

我有一个工厂,创建一个实现接口的对象:

CoCondition = class
public
   class function Create: ICondition;
end;
Run Code Online (Sandbox Code Playgroud)

这很好用.虽然在祖先中有一种叫做方法,但它工作正常Create.它的工作原理是因为我没有overload关键字存在.只要我添加overload关键字:Delphi将允许继承的Create方法"闪耀":

CoCondition = class
public
   class function Create: ICondition; overload;
end;
Run Code Online (Sandbox Code Playgroud)

所以现在CoCondition有两种Create方法可用:

class function CoCondition.Create: ICondition;
constructor TObject.Create;
Run Code Online (Sandbox Code Playgroud)

你要打电话给哪一个是模棱两可的.修复,显然是没有overload关键字(为什么你,你没有重载任何东西?).好吧,事实证明我正在超载的东西:

CoCondition = class
public
   class function Create: ICondition; overload;
   class function Create(const ConditionType: TConditionType): ICondition; overload;
   class function Create(const PropertyName: string; …
Run Code Online (Sandbox Code Playgroud)

delphi inheritance factory factory-pattern

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

如何调用MethodInfo?

我有一个MethodInfo对象,它定义了我想要调用的方法.

除了我需要的objectMethodInfo来自何方.

伪代码:

void CallMethod(MethodInfo m)
{
    Object o = Activator.CreateInstance(m.ClassType);
    o.GetType().InvokeMember(m.Name, BindingFlags.InvokeMethod, null, o, null);
}
Run Code Online (Sandbox Code Playgroud)

除了我不知道如何获得属于type的类MethodInfo.

我怎么称呼MethodInfo

.net c# reflection

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

Javascript类型变量名称/语法/参考?

我试图找到关于如何在JavaScript中声明类型变量的参考.我知道我已经看到了它,但我找不到任何参考,也不记得它的"正确"术语.例如:

var name: string = "Ian Boyd";
Run Code Online (Sandbox Code Playgroud)
  • 我不知道我是否在IEBlog上看到它,它正在为下一版本的Javascript工作
  • 我不知道它是否仅在"use strict"模式中可用
  • 我不知道它是否已经有一段时间了

我所知道的只是我看到了它; 而且我并不疯狂.

javascript types

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

在C#中实现类的静态/单例接口

我有一个(现在)是静态的类:

public static class Grob
{
    public static void Frob()
    {
        Foo.Bar();
    }
}
Run Code Online (Sandbox Code Playgroud)

这很有效.代码电话:

Grob.Frob();
Run Code Online (Sandbox Code Playgroud)

一切都与世界是对的.现在我希望我的类实现一个接口:

public static class Grob : IOldNewGrob
{
    public static void Frob()
    {
       Foo.Bar();
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用,因为原因.

所以我会尝试更改为单个类:

public sealed class Grob
{
   private static volatile Singleton instance;
   private static object syncRoot = new Object();

   private Grob() {}

   public static Singleton Instance
   {
      get 
      { 
         if (instance == null) 
         {
            lock (syncRoot) 
            {
               if (instance == null) 
                  instance …
Run Code Online (Sandbox Code Playgroud)

c# singleton static-class

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

将表重复传递给函数会分配更多内存吗?

我在Lua中有一个在表上运行的函数,重复向表中添加条目:

function DoStuff()
    local table = {};

    for i = 1, 1000 do
        local name, value = GetSomething(i);

        if (CheckSomething(name, value))
           table[name] = value
        end;
    end;
end;
Run Code Online (Sandbox Code Playgroud)

我知道这很快; Lua有一个很好的哈希表算法.但是现在我需要拆分我的部分功能,所以我可以对它进行单元测试:

function DoStuff()
    local table = {};

    for i = 1, 1000 do
        local name, value = GetSomething(i);

        --split out checking so it's testable
        table = ParseTheThing(table, name, value); 
    end;
end;
Run Code Online (Sandbox Code Playgroud)

我知道Lua不支持通过引用传递参数,相反如果我需要向我添加一个项目table,Lua将复制并且我必须返回该副本:

--Core checking function
function ParseTheThing(table, name, value)
   if (CheckSomething(name, value))
      table[name] = value
   end; …
Run Code Online (Sandbox Code Playgroud)

lua garbage-collection unit-testing pass-by-reference

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

系统.Threading.ThreadAbortException发生在mscorlib.dll中持续发生

我是.net的新手,我使用以下代码从gridview转移到excel:

         protected void toexcelbutton_Click(object sender, EventArgs e)
        {
       Response.ClearContent();
    Response.Buffer = true;
    Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "attendancedatereport.xls"));
    Response.ContentType = "application/ms-excel";
    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);
    GridView1.AllowPaging = false;
    GridView1.AllowSorting = false;
    GridView1.DataBind();
    HtmlForm htmfrm = new HtmlForm();
    GridView1.Parent.Controls.Add(htmfrm);
    htmfrm.Attributes["runat"] = "server";
    htmfrm.Controls.Add(GridView1);
    htmfrm.RenderControl(htw);
    Response.Write(sw.ToString());

    HttpContext.Current.ApplicationInstance.CompleteRequest();
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我得到一个例外:

mscorlib.dll中发生了'System.Threading.ThreadAbortException'类型的第一次机会异常.

但是,当我在另一个页面中为另一个gridview运行相同的代码时,它运行得很好.我尝试添加

EnableEventValidation="false"
Run Code Online (Sandbox Code Playgroud)

到aspx页面,和

<pre lang="cs">public override void VerifyRenderingInServerForm(Control control)
{
   /* Verifies that the control is rendered */
}</pre>
Run Code Online (Sandbox Code Playgroud)

到aspx.cs页面,

我尝试清除临时文件,仍然我得到相同的错误,超过5小时我试过,没有什么工作.

然后我尝试选择Debug - > Exceptions菜单项,并在出现的对话框中选中"Common Language …

c# asp.net

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

如何在Java中将CharSequence转换为UTF-8编码的字节数组?

我正在尝试将 a 转换CharSequence为 UTF-8 编码的byte[]数组。

我一直遇到问题,所以我打算向 stackoverflow 寻求帮助。我打算写一个Java Fiddle来做到这一点:

https://www.mycompiler.io/view/3MliN0HgwDD

除了小提琴本身不起作用:

import java.util.*;
import java.lang.*;
import java.io.*;
import java.nio.*;
import java.nio.charset;

// The main method must be in a class named "Main".
class Main {
    public static byte[] charSequenceToUtf8(final CharSequence input)
    {
        //char[] chars = new char[input.length];
        //for (int i=0; i<input.length; i++)
        //  chars[i] = input.charAt(i);

        CharBuffer charBuffer = CharBuffer.wrap(input);
        checkEquals(10, charBuffer.length(), "Charbuffer is wrong length");

        Charset cs = Charset.forName("UTF-8"); 
        ByteBuffer byteBuffer = cs.encode(charBuffer); …
Run Code Online (Sandbox Code Playgroud)

java

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

获取一个字节的高4位

我试图获得a的高4位Byte.

那是我到目前为止的尝试:

function Upper4Bits(const X : Byte): Byte;
type 
   BS = set of 0..7;
var 
   K : Byte; Q: BS;
begin
  Q := [];
  for K := 0 to 3 do {is it right? upper?}
    {what i need here?}
    Include(Q, {what i put here});

  Upper4Bits := Byte(Q)
end;
Run Code Online (Sandbox Code Playgroud)

提前致谢.

delphi byte bits bit

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

使用VIEW,表或视图的同义词是否有任何优点?

几十年来我一直用VIEWs作为同义词:

CREATE VIEW dbo.Banks AS

SELECT *
FROM OtherDatabase.dbo.Banks
Run Code Online (Sandbox Code Playgroud)

我这样做,所以我可以抽象"真正的"表格.当它发生变化时,就像改变视图一样简单:

这很好用.它不会导致优化器出现任何问题,并且我能够根据需要编辑视图.

在此输入图像描述

同义词

从SQL Server 2005开始,Microsoft引入了同义词:

CREATE SYNONYM dbo.Banks FOR OtherDatabase.dbo.Banks
Run Code Online (Sandbox Code Playgroud)

似乎工作相同VIEW方式.我看过的每个执行计划都表现得相同.

不幸的是,似乎同义词无法提供我们需要的基本功能之一:

提供一个抽象层,用于保护客户端应用程序免受对基础对象的名称或位置所做的更改

您无法更改同义词指向的位置.因为没有ALTER SYNONYM语句,所以首先必须删除同义词,然后重新创建具有相同名称的同义词,但将同义词指向新位置.

他们有任何兑换质量吗?

实际上,这不会发生.我永远不会这样做.我不会使用一种机制,要求我从数据库中删除对象以更改设置.我当然不是要删除所有容易改变的观点,与替换它们的同义词,而且还得给大家讲解为什么使一切困难是"更好".

所以我的问题是,使用视图我有什么损失吗?

  • 每个执行计划看起来都与同义词相同
  • 我可以很容易地改变"视图同义词"随时

我缺少的表或视图同义词是否有美德?

除了必须打电话RefreshAllViews以防万一我忘记了我在某个地方换了一张桌子

甚至存储过程

我甚至不使用存储过程的同义词:

CREATE PROCEDURE dbo.GetUSDNoonRateAsOf @tradeDate datetime AS

EXECUTE OtherDatabase.dbo.GetUSDNoonRateAsOf @tradeDate
Run Code Online (Sandbox Code Playgroud)

我失踪的同义词中是否有值?

更新:RefreshAllViews过程

我们在每个数据库中都有一个标准程序.重新排序或插入列会对视图造成严重破坏; 所以他们必须"刷新".

CREATE PROCEDURE [dbo].[RefreshAllViews] AS

-- This sp will refresh …
Run Code Online (Sandbox Code Playgroud)

sql-server synonym sql-server-2008-r2

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