小编Sid*_*mal的帖子

如何从C#中的一行检测字符串溢出?

我想知道如何在C#中自动换行,当我遇到一个非常好的解决方案,解决了我在这个URL中的一行包装文字的问题.不幸的是,我没有足够的声誉来直接向OP询问我遇到的一个具体问题(并且很可能处理这个问题的人将无限期地)

问题描述:
如果需要使用以下代码进行自动换行,我可以自动换行字符串:

Graphics PAddress = e.Graphics;

SizeF PAddressLength = PAddress.MeasureString("Residential Address: " + RAddressTextBox.Text, new Font(fontface, fontsize, FontStyle.Regular),700);

PAddress.DrawString("Residential Address: "+PAddressLength + RAddressTextBox.Text, new Font(fontface, fontsize, FontStyle.Regular), Brushes.Black, new RectangleF(new Point(pagemarginX, newline()),PAddressLength),StringFormat.GenericTypographic);
Run Code Online (Sandbox Code Playgroud)

但是,当单词长度从单行溢出时,我找不到接收触发器的位置.

例如:
在该代码的LINE-2中,每当字长超过700px时,它就会移动到下一行.它通过跟随RectangleF到wordwrap来做到这一点.它是自动执行的,这是一个问题,因为这使得很难知道它是否已经超过700px.

这是我尝试打印PAddressLength时显示信息的格式:

{宽度= 633.1881,高度= 47.14897}

我在想如果我可以使用PAddressLength.Width从中提取宽度值,那么我可以部分解决这个问题.但有了这个,我需要计算剩余空间(即700px - 633.1881px)是否能容纳下一个单词(如果有的话)

打破问题:

  • 已经知道如果字符串包装的时间长于使用Graphics.MeasureString指定的字符串,如另一个问题中此解决方案中给出的那样.
  • 但是这个过程是自动发生的,所以我想知道如何检测自动换行是否已经发生(以及每条线的最大宽度是700px所包裹的行怎么样)
  • 我需要知道已经包装的行数,以便知道执行我写的newline()函数的次数,每次执行时都会给出适当的行间距.

另外,( …

c# word-wrap

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

从java.lang.OutOfMemoryError中恢复

所以今天在学习Java时,我终于遇到了这个特殊错误.似乎这个错误非常普遍,并试图从中恢复已经获得了混合反应.有些人认为它在某些情况下是有用的,因此它是一个很好的"知道",有些人在他们的项目中使用它,而另一些则强烈反对 捕获这个错误的想法,然后很多其他人就像我一样困惑.

编辑:哦顺便说一句,这是我遇到的错误.我希望捕获这些错误并将增量值的值减少1/10,直到找到另一个错误
(依此类推......直到我找到上限) 这是我遇到的错误

由于我在Java中采取了我的步骤,并且在这个主题上找不到任何具体的内容,我想请求您提供有关此特定示例的帮助:

public class SpeedDemoClass {
        static int iterations=0;
        static int incrementor=10000000;
    public static void main(String[] args) {
        while(incrementor>1){
            try{
              iterations=iterations+incrementor;
              iterator(iterations);
            }
            catch(Exception e){
                System.out.println("So this is the limiting error: "+e);
                iterations=iterations-incrementor;
                incrementor=incrementor/10;
                iterations=iterations+incrementor;
            }
        }
        System.out.println("The upper limit of iterations is: "+iterations);
    }

    public static void iterator(int a){
            long start_time= System.currentTimeMillis();
            StringBuilder sbuild= new StringBuilder("JAVA");
            for(int i=0;i<a;i++){
                sbuild.append("JAVA");
            }
            System.out.println("Performing "+a+" append operations;"
                    +"process completed …
Run Code Online (Sandbox Code Playgroud)

java out-of-memory

5
推荐指数
0
解决办法
606
查看次数

获取已提交特定文件的贡献者列表

我正在寻找获取提交的作者/贡献者的方法。我对 github-api 真的很陌生,给我带来的麻烦比我想象的要多。

我们从..开始

  • 我有贡献者名单
  • ?author=我可以像这样在 github 网站上按贡献者过滤提交
  • 也可以在文件提交中看到贡献者 Github 显示文件的贡献者

应该是可以的

  • 所有这些让我觉得应该也可以通过 API 找到文件的贡献者。

问题描述

如果我有这样的文件的 URL ,是否有 github API 可以向我显示已提交该文件的贡献者列表?

或者,我是否需要使用多个 API 调用的结果(例如)

I'm thinking of cross-referencing the outputs of those two^ if everything else fails.

示例输出

应该返回 Pratik855


*编辑

我找到了这个答案,但这并不是我想要的。虽然满足了所有要求,但我不确定如何https://api.github.com/repos/csitauthority/csitauthority.github.io/commits?=README转换为https://api.github.com/repos/csitauthority/csitauthority.github.io/commits?=HUGO/content/page/vlan-101.md基于https://github.com/csitauthority/CSITauthority.github.io/blob/master/HUGO/content/post/vlan-101.md,因为 HUGO 只能生成第三种规范 URL。


我在用

  • 雨果
  • Github 页面

javascript github-api

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

数组元素打印的地址是什么?


更新:已报告此问题的可能重复.虽然提交给该问题的答案部分地解决了这个问题,但为了解释为什么我们不能使用双指针来表示二维数组,它没有指定如何访问存储在指针中的值的正确存储器地址; 这是这个问题的主题.这个问题中的明确答案可以很好地向未来混淆的人澄清为什么这是一个被误解的概念以及如何解决它的替代方法.这对于希望跟踪输出以更好地理解概念的未来读者可能是有用的(如果你仔细观察OP在该问题中的评论,你会发现跟踪不够清楚,他不能理解.这里提出的问题一部分提供了一个更好的跟踪示例,以便几乎任何人都可以轻松理解) (问题的其余部分是未经编辑的荣耀,以便未来的读者能够反思类似的错误,如果他们恰好成功的话.)


我正在做的事情:

  • 试图看看如何使用指针而不是2D数组
  • 在这种情况下,我将值插入2D数组(即a [] [])
  • 我试图用指针(即,ptr)访问该数组中的值
  • 我也试图跟踪从中获取这些值的内存地址
  • 试着知道我哪里出错了?(希望得到适当的解释,并在可能的情况下,提供参考链接并进一步学习)

我试过的:
下面是一个示例代码:

int main()
{
  int a[2][2]={{5,7},
               {0,1}};
  int** ptr=(int**)a;
  int i,j;
for(i=0;i<2;i++){
    for(j=0;j<2;j++){
        printf("%d printing from==>%x\n",&ptr[i][j],((&ptr[i])+j));
   }
  }
  getch();
  return(0);
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我试图在指针ptr的帮助下打印矩阵a [] []中存在的值.在这样做时,我正在跟踪打印实际发生的位置(在内存地址中).我似乎遇到了以下形式的灾难性输出:

5打印从==> 12ff7c
9打印从==> 12ff80
7打印来自==> 12ff80
11打印来自==> 12ff84

然后我修改了这一行:

printf("%d printing …
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

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

标签 统计

arrays ×1

c ×1

c# ×1

github-api ×1

java ×1

javascript ×1

out-of-memory ×1

pointers ×1

word-wrap ×1