小编Tre*_*bor的帖子

CSS 字体显示:交换阻塞

我正在尝试通过阻止 Google 字体下载阻止页面其余部分的加载来优化我的网站下载速度。也许我误解了 CSS 的 font-display:swap 功能,因为我认为这应该允许字体下载,而不阻止继续下载。

但是,我的 CSS 中的 font-display 标签似乎不允许字体无阻塞地下载。

即,我的 CSS

  @font-face {
        font-family: ...
        format('svg');
        font-weight: normal;
        font-style: normal;
        text-decoration:none;
        font-display:swap;}
Run Code Online (Sandbox Code Playgroud)

但 GTMetrix 瀑布显示该字体仍然阻塞。

瀑布 在此输入图像描述

遮挡细节

在此输入图像描述

我是否误解了显示:交换或误读了瀑布?

css gtmetrix

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

返回在try catch中创建的对象

执行以下操作并返回对象或null的最佳/正确方法是什么?

如果我在try/catch子句中声明返回Dictionary对象,它可能不会返回一个对象并因此而生成编译错误.但它应该至少返回一些东西,比如null?

public static Dictionary<string,string> myFunction()
{
    try {
        ...
        Dictionary<string,string> dict = new Dictionary();
    }

    catch {
        ...
    }

    return dict;
}
Run Code Online (Sandbox Code Playgroud)

我只是在try/catch之外实例化返回的对象,并在调用程序中测试返回的值/长度吗?

c# oop

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

扩展现有类并添加clone()方法C#

我有一个现有供应商提供的类MyClass(),我无法修改,我想添加一个克隆方法.我认为以下会这样做,但obj没有找到MemberwiseClone()方法.

public static class MyExtensions 
{
    public static MyClass Clone(this MyCLass obj)
    {
        return (MyClass) obj.MemberwiseClone();
    }
}  
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

c# oop

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

如何将类对象强制转换为列表?

我对C#很新,我无法将对象转换为List<T>.我一直收到错误"无法隐式类型转换AttachmentSystem.Collections.Generic.List<Attachment>.有很多关于我看过了类似的错误的职位,但我似乎无法找出什么我失踪.

我的核心对象如下:

public class Attachment 
{
    public Attachment() { }
    ...
}
Run Code Online (Sandbox Code Playgroud)

它在另一个类的构造函数中被调用,如下所示:

public class MyClass
{
    ...
    public List<Attachment> attachments { get; set; };
    ...
    public MyClass(JObject jobj)
    {
        ...
        //Attachments
        if (jobj["attachments"] != null)
        {
            attachments = (Attachment)jobj.Value<Attachment>("attachments");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

错误发生在代码的最后一行,我正在尝试将我的Attachment对象强制转换为List<attachments>.我理解这条消息的内容,但我尝试过的一切都行不通.

c# generics

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

循环遍历字符串数组并与之前的值进行比较

我需要遍历一个字符串数组,并知道我之前是否看过一个特定的字符串值.通常,我会用其他语言写这样的东西:

String oldValue="";
String newValue;
for (i=0;i<myarray.Length;i++)
{
    newValue=myarray[i];
    if (oldValue==newValue)
        break;
    ...

    oldValue=newValue;

}
Run Code Online (Sandbox Code Playgroud)

但是,这在C#中不起作用,因为字符串是不可变的.如果我只是替换整个字符串,看起来我可以使用正则表达式执行此操作,但这似乎是额外的开销.其他人以前怎么处理这个?

谢谢

c# arrays string

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

静态/实例方法和扩展问题

我是C#的新手,我开始研究一个需要在C#中添加一个类的方法的项目.我发现自己正在检查静态和实例方法之间的差异,我无法在示例项目中解释以下内容.

我的核心对象:

namespace ExtendingObjects
{
    public class MyCoreObject
    {
        public String name;
        public String returnName()
        {
            return name;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试扩展对象:

namespace ExtendingObjects
{
    public static class Extensions
    {
        public static void addName(this MyCoreObject mco, String str)
        {
            mco.name=str;
        }

        public static String getName(this MyCoreObject mco)
        {
            return "test";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

通话程序:

namespace ExtendingObjects
{
    class Program
    {
        static void Main(string[] args)
        {
            MyCoreObject co = new MyCoreObject();
            co.addName("test");
            //Static method seems to work with instance?
            String n …
Run Code Online (Sandbox Code Playgroud)

c# oop

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

标签 统计

c# ×5

oop ×3

arrays ×1

css ×1

generics ×1

gtmetrix ×1

string ×1