小编LCJ*_*LCJ的帖子

SkiaSharp不会用StrokeAndFill填充三角形

我试图绘制并填充一个三角形。我提到了一个android系统-问题如何在android画布上绘制实心三角形并执行以下操作。它绘制三角形,但不填充它。如何填充它?另外,是否可以用不同于线条颜色的颜色填充它?

Xamarin形式

private void OnPainting(object sender, SKPaintSurfaceEventArgs e)
{
        var surface = e.Surface;
        var canvas = surface.Canvas;
        canvas.Clear(SKColors.White);


        var pathStroke2 = new SKPaint
        {
            IsAntialias = true,
            Style = SKPaintStyle.StrokeAndFill,
            Color = new SKColor(244, 0, 110, 200),
            StrokeWidth = 5
        };

        var path2 = new SKPath { FillType = SKPathFillType.EvenOdd };
        path2.MoveTo(0, 0);
        path2.LineTo(0, 140);
        path2.MoveTo(0, 140);
        path2.LineTo(140, 140);
        path2.MoveTo(140, 140);
        path2.LineTo(0, 0);
        path2.Close();
        canvas.DrawPath(path2, pathStroke2);

    }
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

skia xamarin xamarin.forms skiasharp

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

如何进行高级 PIVOT

我在 SQL Server 2016 中有下表

CREATE TABLE #Source (PatientID INT, DiagnosisCode VARCHAR(20), DX_Pt_RowNum INT)
INSERT INTO #Source
SELECT 1 AS PatientID, 'A' AS DiagnosisCode, 1 AS DX_Pt_RowNum UNION
SELECT 1 AS PatientID, 'B' AS DiagnosisCode, 2 AS DX_Pt_RowNum UNION
SELECT 1 AS PatientID, 'C' AS DiagnosisCode, 3 AS DX_Pt_RowNum UNION
SELECT 2 AS PatientID, 'K' AS DiagnosisCode, 1 AS DX_Pt_RowNum UNION
SELECT 2 AS PatientID, 'T' AS DiagnosisCode, 2 AS DX_Pt_RowNum UNION
SELECT 2 AS PatientID, 'E' AS DiagnosisCode, 1 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2012 sql-server-2016

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

ORM引入的循环大大降低了性能

我有一张桌子如下图所示.它有固定和储蓄类型的帐户.我需要更新用户1的所有帐户的状态.该用户有10000个帐户.本质上,逻辑将如以下SQL存储过程脚本中所示.该脚本执行时间不到1秒(83毫秒).

但是当我使用LINQ to SQL将其转换为ORM时,它需要超过3分钟(204814毫秒).它至少慢了240,000%.

LINQ to SQL(或其他ORM)中是否存在有助于克服性能损失的模式?

有什么能迫使它在一次数据库中进行更新?

注意:我知道从LINQ调用存储过程.我不认为这是ORM而不是我的选择.

在此输入图像描述

手动存储过程脚本

DECLARE @UserID INT 
DECLARE @StatusForFixed VARCHAR(50)
DECLARE @StatusForSavings VARCHAR(50)

SET @UserID = 1
SET @StatusForFixed = 'FrozenFA11'
SET @StatusForSavings = 'FrozenSB22'

UPDATE BankAccount 
SET Status = 
        CASE 
            WHEN BankAccount.AccountType='Fixed' THEN @StatusForFixed
            WHEN BankAccount.AccountType='Savings' THEN @StatusForSavings
        END
 WHERE  AccountOwnerID=@UserID
Run Code Online (Sandbox Code Playgroud)

LINQ生成的代码示例

Note: This type of statements happen 10000 times

UPDATE [dbo].[BankAccount]
SET [Status] = @p3
WHERE [BankAccountID] = @p0
-- @p0: Input Int (Size = -1; …
Run Code Online (Sandbox Code Playgroud)

c# linq-to-sql

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

LINQ 2 SQL:AddObject和InsertOnSubmit

我需要在Payment表中插入一条记录.我发现了两种方法

  1. ADDOBJECT
  2. InsertOnSubmit

两者有什么区别?什么时候用?

    public void InsertEntity(DBML_Project.Payment payment)
    {
        //Insert the entity
        MyDataContext.GetTable<DBML_Project.Payment>().InsertOnSubmit(payment);
    }


public void InsertPayment(IPayment payment)
{
     this.AddObject(payment.GetType().Name, payment);
}
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework linq-to-sql

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

对象的方法调用不会抛出异常

这些天我遇到了很多奇怪的场景 :-)

我在ASP.Net应用程序中测试了以下两个代码.代码1抛出异常(如预期的那样),而当字符串值为null时,代码2不会抛出异常(与期望相反).

  1. 为什么" EVAL "在这种情况下不会抛出异常?
  2. EVAL的工作总是这样(即"不例外")或者只是运气吗?
  3. 是否有任何MSDN引用说'Eval'返回空字符串?

// 代码1:导致异常

 string test = Convert.ToString(subscriber.EncryptedSSN).Substring(0, Convert.ToString(subscriber.EncryptedSSN).Length >= 5 ? 5 : Convert.ToString(subscriber.EncryptedSSN).Length);
Run Code Online (Sandbox Code Playgroud)

// 代码2:不抛出异常

 <%# Convert.ToString(Eval("EncryptedSSN")).Substring(0, Convert.ToString(Eval("EncryptedSSN")).Length  >= 5 ? 5 : Convert.ToString(Eval("EncryptedSSN")).Length)  %>
Run Code Online (Sandbox Code Playgroud)

参考文献:

  1. DBNull的Eval检查不起作用
  2. Convert.ToString对"NULL对象"和"NULL字符串"的行为有所不同
  3. 返回的数据类型因表中的数据而异

.net c# asp.net

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

不使用修剪检查是否存在空格

我有以下代码检查日期是否有效.http://jsfiddle.net/uzSU6/36/

如果日期部分,月份部分或年份部分中有空格,则该日期应视为无效.为此,目前我正在检查trim操作前后字符串的长度.它工作正常.但是有没有更好的方法来检查空格?(例如,使用===运算符)

function isValidDate(s) 
{
var bits = s.split('/');

//Javascript month starts at zero
var d = new Date(bits[2], bits[0] - 1, bits[1]);


if ( isNaN( Number(bits[2]) ) ) 
{
    //Year is not valid number
    return false;
}

if ( Number(bits[2]) < 1 ) 
{
    //Year should be greater than zero
    return false;
}


//If there is unwanted blank space, return false
if  ( ( bits[2].length != $.trim(bits[2]).length ) ||
      ( bits[1].length != $.trim(bits[1]).length ) …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

CASE无法正常工作

我有两个问题.第一个查询是直接的,当@MyParam为null时,它可以作为epecte使用.但第二个查询没有返回相同的结果.第二个查询中的错误是什么.

注意:我被要求使用第二种方法,因为客户端要求摆脱"@MyParam IS NULL"检查(在查询1中使用)

QUERY

DECLARE @MyParam INT

DECLARE @MyTable TABLE (EmpID INT)

INSERT INTO @MyTable VALUES (1)
INSERT INTO @MyTable VALUES (2)
INSERT INTO @MyTable VALUES (3)
INSERT INTO @MyTable VALUES (4)

--Query 1
SELECT * 
FROM @MyTable M
WHERE M.EmpID = @MyParam OR @MyParam IS NULL

-- Query 2 (Rewrite for performance)
SELECT * 
FROM @MyTable M
WHERE M.EmpID = (CASE @MyParam WHEN NULL THEN M.EmpID ELSE @MyParam END)
Run Code Online (Sandbox Code Playgroud)

sql-server

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

从自定义集合创建逗号分隔的字符串

我有List<Accrual>List<Brand>(和许多其他类似的对象)如下所述.我需要从List<string>using 创建一个逗号分隔的字符串String.Join

    public static string GetCommaSeparatedString(List<string> input)
    {
        return String.Join(",", input);
    }
Run Code Online (Sandbox Code Playgroud)
  1. List<Accrual>我需要传递List<Description>给方法的情况下
  2. List<Brand>我需要传递List<Name> 给方法的情况下

如何以最简单的代码行以最可读的方式实现它?

注意:我使用的是.Net 4.0

类示例

public class Accrual
{
    public string Code { get; set; }
    public string Description { get; set; }

}

public class Brand
{
    public int Number { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

.net c# linq generics

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

添加要选择的项目在Chrome中不起作用

我有以下代码在IE8中工作正常.jquery代码将项添加到多选列表中.但是在Chrome和Safari中这不起作用 - 这些项目不可见

注意:虽然它适用于Firefox,但它正在向右对齐.当我选择任何选项时,它会被隐藏.

我们如何让它在所有四种浏览器中运行?

jsFiddle:http://jsfiddle.net/Lijo/UPR8K/

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
    $(function () {
        $("#btnCostPageNumberMagnifingLens").click(function () {

            $("#mtxtCostPageDescription").append('<option value=1>My option</option>');

        });
    });
    });
</script>

<style type="text/css">

    .floaterleft
    {
        width:300px;
        height:300px;
        background-color:gray;
        padding:10px 10px 10px 10px;

    }

</style>

<body>
    <div class="floaterleft">
        <div class="headerTextBox">
            <input id="txtCostPageNumber" id="CostPageNumber" name="CostPageNumber" style="width: 240px; padding-right: 15px" type="text" value="" />
        </div>
        <div class="Magenifyingbtn, headerMagnifyButton">
            <input type="button" name="btnCostPageNumberMagnifingLens" id="btnCostPageNumberMagnifingLens" class="Magenifyingbtn">
        </div>

        <select id="mtxtCostPageDescription" name="mtxtCostPageDescription" multiple="multiple" style="width: 290px; padding: 10px 152px 0px 154px; …
Run Code Online (Sandbox Code Playgroud)

jquery

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

UISlider具有增加的滑块大小,但在iOS App中没有拇指变形

我需要增加滑块的尺寸在iOS app使用创建的Xamarin Forms。我尝试使用以下重写的自定义渲染器LayoutSubviews。它增加了尺寸,但是拇指的尺寸却无法接受。如何减小拇指的大小,同时保持滑块的高度增加?

在Android中可能如下所示: 在不影响Android App中拇指的情况下增加滑块的高度

iOS参考:

  1. 自定义UISlider-增加“热点”大小

  2. 在UISlider中增加拇指的“单击区域”

C#自定义渲染器

[assembly: ExportRenderer(typeof(MySlider), typeof(MySliderRenderer))]
namespace CustomRenderer.iOS
{
    class MySliderRenderer : Xamarin.Forms.Platform.iOS.SliderRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Slider> e)
        {
            base.OnElementChanged(e);   
            Control.MinimumTrackTintColor = UIColor.FromRGB(0xE6, 0x00, 0x06);
            Control.ThumbTintColor = UIColor.Red;
            Control.MinimumTrackTintColor = UIColor.Orange;
            Control.MaximumTrackTintColor = UIColor.Yellow;
            //Control.SetThumbImage(UIImage.FromFile("myicon.png"), UIControlState.Normal);
        }

        public override void LayoutSubviews()
        {
            base.LayoutSubviews();
            CGAffineTransform transform = CGAffineTransform.MakeScale(1f, 12.0f);
            transform.TransformSize(this.Frame.Size);
            this.Control.Transform = transform;            
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

更新-参考-渲染器

  1. 在Xamarin.Forms中自定义控件渲染

  2. 实施视图-渲染特定于平台的视图

  3. 适用于Xamarin和Xamarin.Forms的iOS范围滑块

  4. Xamarin.Forms的全屏视频背景控件

xamarin.ios xamarin xamarin.forms

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

使用C#列出最长的文件路径

我使用的是Windows XP.我需要找到具有最长路径(路径长度+文件名长度)的文件(在文件夹D:\ Test中).我们如何使用C#找到这个?

是否有像dir,tree等命令来验证这个? 知道如何使用T-SQL做到这一点?

注意:可以使用xp_cmdshell从T-SQL获取目录结构

谢谢

Lijo

.net c# command

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

通过考虑NULL修剪文本框值

你能告诉我TrimNull()是否多余以及我是否应该使用替代方案?

例如:

string username = UsernameTextBox.Text.TrimNull();
Run Code Online (Sandbox Code Playgroud)

我被告知没有定义或扩展方法.也许有一个我错过的参考?

更新:

如果值为NULL readable,返回的最多方法empty string是什么?

.net c# asp.net visual-studio

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

删除不适用于选择列表

我有jquery代码将项添加到选择框.在将新项目添加到选择列表之前,我需要清除现有项目.我用的remove方法.但它不是删除项目.有什么需要改变才能起作用?

jQuery的

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {

        $("#btnProgramDescriptionMagnifingLens").click(function () {
            alert('Clicked');
            var costPageDisplayText = 'A';

            //REMOVE
            var id = $('mtxtProgramDescription option').remove();

            //ADD
            var o = new Option(costPageDisplayText, 'B');
            $(o).html(costPageDisplayText);
            $("#mtxtProgramDescription").append(o);

        });


    });
</script>
Run Code Online (Sandbox Code Playgroud)

CSS

<style type="text/css">
    .floaterleft {
        width: 300px;
        height: 300px;
        background-color: gray;
        padding: 10px 10px 10px 10px;
    }
</style>
Run Code Online (Sandbox Code Playgroud)

HTML

<body>

      <div class="floaterleft">

        <div class="descriptionLeft">
            <label for="Program___Description">Program / Description</label>
        </div>
        <div class="controlLeft">
            <div class="partialFirstLine">
                <div class="headerTextBox">
                    <input id="txtProgramDescription" class="searchTextbox" id="Program" name="Program" type="text" value="" /> …
Run Code Online (Sandbox Code Playgroud)

jquery

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