标签: addition

在C#中组合两个对象的最有效方法

我有两个对象,可以表示为int,float,bool或string.我需要对这两个对象执行添加,结果与c#将产生的结果相同.例如,1 +"Foo"将等于字符串"1Foo",2 + 2.5将等于浮点数5.5,而3 + 3将等于int 6.目前我正在使用下面的代码,但它似乎令人难以置信的矫枉过正.任何人都可以简化或指出我有效地做到这一点吗?

private object Combine(object o, object o1) {
    float left = 0;
    float right = 0;

    bool isInt = false;

    string l = null;
    string r = null;
    if (o is int) {
        left = (int)o;
        isInt = true;
    }
    else if (o is float) {
        left = (float)o;
    }
    else if (o is bool) {
        l = o.ToString();
    }
    else {
        l = (string)o;
    }

    if (o1 is int) {
        right = (int)o1; …
Run Code Online (Sandbox Code Playgroud)

.net c# performance object addition

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

如何在JavaScript中重新定义数组上的+运算符?

假设点使用JavaScript代表Array作为[x,y],我怎么能定义+上的点,使得运营商:

[1,2] + [5,10] == [6,12]
Run Code Online (Sandbox Code Playgroud)

javascript arrays addition

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

使用PowerShell基于另一列中的信息添加(数学)CSV列

我很难描述我在标题中需要什么,所以如果这完全没有意义,我提前道歉.

如果我有一个包含2个列的CSV,一个带有人名,另一个带有数字值,我需要在名称列中找到重复项,然后将该人的数值加在一起以获得新的总数CSV.

这是真实CSV的非常简化版本

Name,Number
Dog,1
Cat,2
Fish,1
Dog,3
Dog,2
Cat,2
Fish,1
Run Code Online (Sandbox Code Playgroud)

鉴于上述信息,我希望能够产生的是:

Name,Number
Dog,6
Cat,4
Fish,2
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何到达那里,或者是否有可能使用PowerShell.我只能使用group-object按名称进行分组,但我不知道如何在此之后添加列.

我在研究这个问题时遇到的最大问题是,谷歌搜索时获得的大部分结果都涉及到向csv添加新列而不执行数学计算.

csv math powershell addition

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

java中添加后List所有元素都是一样的

最近我的java项目因为我的理解出现了错误。我有以下代码:

 Post post = new Post(); // Post is my custom class
 List<Post> list = new ArrayList<Post>();
 for( int i = 0; i < num; i++){
      post.setTitle( TITLE[i] ); //TITLE[] is a array of String.
      list.add(post);
 }
Run Code Online (Sandbox Code Playgroud)

之后 List 列表中的所有元素都相同并且等于标题为 TITLE[num-1] 的帖子。我知道我对这个问题有误解,因为当我把构造函数

 Post post = new Post();
Run Code Online (Sandbox Code Playgroud)

在 for 循环内,一切都很好。但有人可以帮我解释一下吗?非常感谢。

java element list addition

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

我可以在一行的多个变量上使用+ =吗?

在缩短我的代码的同时,我将一些变量声明减少到一行 -

##For example- going from-
Var1 =15
Var2 = 26
Var3 = 922

##To-
Var1, Var2, Var3 = 15, 26, 922
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试对此代码做同样的事情时 -

User_Input += Master_Key[Input_ref]
Key += Master_Key[Key_ref]
Key2 += Master_Key[Key_2_Ref]

##Which looks like-
User_Input, Key, Key2 += Master_Key[Input_Ref], Master_Key[Key_Ref], Master_Key[Key_2_Ref]
Run Code Online (Sandbox Code Playgroud)

这会引发错误

SyntaxError: illegal expression for augmented assignment
Run Code Online (Sandbox Code Playgroud)

我已经阅读了相关的Python文档,但我仍然找不到缩短这一特定代码的方法.

python variables reference addition augmented-assignment

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

将 size_t 变量添加到指针

我想向指针添加 size_t 类型。有些像这样:

void function(size_t sizeA,size_t sizeB){
    void *pointer;
    pointer=malloc(sizeA);
    pointer=pointer+sizeB;
}
Run Code Online (Sandbox Code Playgroud)

在假设的情况下,这不会以段错误结束,问题是:我可以这样做吗?将类型 size_t 添加到指针?结果地址将在地址“大小”中?

c pointers size-t addition

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

不推荐使用'+':在Swift 3.1中不推荐使用混合类型添加

当我直接添加一个整数值(即:1,2,3等)与另一个整数变量

let arr:Array = ["One","Two"]
var valueT:Int64 = 0
value = arr.count + 1 //in this line
Run Code Online (Sandbox Code Playgroud)

我收到以下警告:

'+' is deprecated: Mixed-type addition is deprecated. Please use explicit type conversion.
Run Code Online (Sandbox Code Playgroud)

我用这个修好了警告:

value = Int64(value + 1)
Run Code Online (Sandbox Code Playgroud)

虽然它是固定的,但我想知道为什么它被称为混合型添加,因为我没有使用++.还有更好的方法来修复swift 3.1中的警告吗?

更新:

以下图像是警告的证明.我正在使用Xcode版本8.3(8E162).

在此输入图像描述

allROR 这是一个数组.

addition swift swift3

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

禁用MATLAB的隐式扩展

最近,在R2016b中,一个功能被添加到MATLAB中,这在我教的学校引起了很多麻烦.

如今,传统上被视为非法或至少是阴暗数学的公式成功执行:

[1, 2] + [3, 4]'    -> [4, 5; 5, 6]
[1, 2]' + [3, 4, 5] -> [4, 5, 6; 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)

因此,将行向量添加到列向量被视为两个矩阵的相加,从重复向量到"合适"维度可以得到两个矩阵.在旧版本中,这将产生错误消息,通知不可能添加具有不同尺寸的矩阵.

我想问为什么有点宽泛,虽然如果你知道为什么,我很想知道.相反,我会问,有没有办法禁用此功能?对于新手程序员来说,当传统的数学似乎没有排成一行时,这是一个受到伤害的世界,结果矩阵经常被忽视,导致错误只会在以后发生.

我不认为这是MATLAB语法和行为的有用部分,因为它需要太多的解释,阅读程序员的意图.repmat是有原因的,可以引入一个专门的功能来满足这个东西的需要.

matlab vector addition

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

如何转置列表?

假设我有一个列表[[1,2,3],[4,5,6]]

我如何转置它们,使它们成为:[[1, 4], [2, 5], [3, 6]]

我必须使用该zip功能吗?该zip功能是最简单的方法吗?

def m_transpose(m):
    trans = zip(m)
    return trans
Run Code Online (Sandbox Code Playgroud)

python transpose list matrix addition

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

使用自动滚动向面板添加控件 (c#)

AutoScroll我有一个带有 property =的面板true。通过动态地将其他控件添加到面板而不滚动 - 一切正常!

void addControl(){
    int top = 13 + ( this.Controls.Count * cmdSet.Height );
    ucCommandSet cmdSet = new ucCommandSet() { Top = top };
    this.Controls.Add( cmdSet );
}
Run Code Online (Sandbox Code Playgroud)

但是,如果滚动条插入到 TOP [0] 以外的位置,则控件会添加到更靠下的位置。

我需要在计算中包含哪些属性?

问候提高者


@LarsTech 的解决方案:

void addControl(){
    int top = 13 + ( this.Controls.Count * cmdSet.Height ) + this.AutoScrollPosition.Y;
    ucCommandSet cmdSet = new ucCommandSet() { Top = top };
    this.Controls.Add( cmdSet );
}
Run Code Online (Sandbox Code Playgroud)

.net c# controls scroll addition

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