小编Ale*_*lex的帖子

MessageBox中未显示增量,并且更改了变量值

关于这段代码我有两个问题......

  1. 为什么在第10行开始保持当前值.例如,

    int a = 7
    
    Run Code Online (Sandbox Code Playgroud)

    (a += 4)这是现在制作它11的下一行代码.而不是仅仅将其用于可变初始宣布这是.怎么没有得到?是在运营商改变了我最初宣布它在代码的开始?是否仍持有价值在内存中,还是那些语句改变这种状况?(a -= 4)7a73=+=a7

  2. 在最后一个MessageBox.Show()声明.我a通过1使用增量a++.但是,我获得了与之前相同的价值MessageBox.Show().怎么没有增加?

这是代码:

private void button1_Click(object sender, EventArgs e)
{
    int a = 7;
    int b = 3;

    MessageBox.Show((a + b).ToString(), "a+b");
    MessageBox.Show((a - b).ToString(), "a-b");
    MessageBox.Show((a * b).ToString(), "a*b");
    MessageBox.Show((a / b).ToString(), "a/b");
    MessageBox.Show((a += 4).ToString(), "a+=4"); //adds 4 to a
    MessageBox.Show((a -= 4).ToString(), "a-=4"); //substracts 4 …
Run Code Online (Sandbox Code Playgroud)

c# increment operators

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

Asp.Net获取屏幕宽度

如何在Asp.net(C#)项目中获取服务器端的屏幕宽度?

c# asp.net

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

当我重复在Div中添加一个新元素时,为什么会出现`HierarchyRequestError`?

请考虑以下代码.它第一次工作,但不按下按钮.我收到以下错误消息:

Uncaught HierarchyRequestError:无法在'Node'上执行'appendChild':新的子元素包含父元素.

function addElement() {
var txt='<input type="text" name="school[]"> '+
    '<input type="text" name="degree[]">'+
    '<input type="text" name="gradYear[]">';

    var ni = document.getElementById('school');
    ni.innerHTML = txt;
    ni.appendChild(ni);
}


<input type="button" name="add" value="Add School" onClick="addElement()">

<div id="school">

</div>
Run Code Online (Sandbox Code Playgroud)

html javascript

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

Chrome扩展程序的activeTab权限问题

我在Chrome扩展程序的background.js脚本中运行以下代码:

chrome.browserAction.onClicked.addListener(captureCurrentTab());

function handleCapture(stream) {
  console.log('content captured');
  console.log("backround.js stream: ", stream);
  alert(stream);

  // localStream = stream; // used by RTCPeerConnection addStream();
  // initialize(); // start signalling and peer connection process
}

function captureCurrentTab() {
  console.log('reqeusted current tab');
  chrome.tabs.query({active : true}, function(tab) {
      console.log('got current tab');

      chrome.tabCapture.capture({
          audio : true,
          video : false
      }, handleCapture);
  });
}    
Run Code Online (Sandbox Code Playgroud)

但是,这给了我以下错误:

runtime.lastError运行时未选中tabCapture.capture:当前页面未调用扩展(请参见activeTab权限)。Chrome页面无法捕获。

但是,我专门在manifest.json中授予activeTab权限:

"permissions": [
    "tabs",
    "tabCapture",
    "activeTab",
 ]
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

google-chrome google-chrome-extension

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

如何将经度和纬度转换为GPS Exif字节数组

我试图将纬度= 8°50'34.46"和经度= 125°9'50.82"放入图像的exif文件中.我正在使用vb.net.

我没有将度数和分钟转换为字节的问题,因为它是一个整数但是当我将具有十进制值的秒(34.46")转换为字节时.它给出了不同的结果,如0.9856.

请帮助我们如何将带有十进制值的数字转换为字节.

这里的代码:

Private Shared Function intToByteArray(ByVal int As Int32) As Byte()
    ' a necessary wrapper because of the cast to Int32
    Return BitConverter.GetBytes(int)
End Function

Private Shared Function doubleToByteArray(ByVal dbl As Double) As Byte()
    Return BitConverter.GetBytes(Convert.ToDecimal(dbl))
End Function

Private Shared Function doubleCoordinateToRationalByteArray(ByVal doubleVal As Double) As Byte()
    Dim temp As Double

    temp = Math.Abs(doubleVal)
    Dim degrees = Math.Truncate(temp)

    temp = (temp - degrees) * 60
    Dim minutes = Math.Truncate(temp)

    temp = (temp - minutes) * 60 …
Run Code Online (Sandbox Code Playgroud)

vb.net gps exif data-conversion

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

设置 Mock 以重定向到重载方法

我有一个方法叫做:

SendMail(string from, string to, string subject, string smtpServer)
Run Code Online (Sandbox Code Playgroud)

和重载的方法

SendMail(string from, string to, string subject, SmtpClient smtpClient)
Run Code Online (Sandbox Code Playgroud)

在我的单元测试中,我想设置我的MailService模拟,以便在SendMail(string, string, string, string)调用方法时我想调用重载的方法SendMail(string, string, string, SmtpClient)并将最后一个参数修改为创建的SmtpClient测试对象。

有没有办法做到这一点?

c# unit-testing moq

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

为什么将c#通用列表实现为仅追加数组?

C#通用列表System.Collections.Generic.List<T>是使用可增长数组作为后备存储来实现的,其方式类似于更多基于数组列表的实现。显然,当对例如实现为链接列表的列表执行随机(索引)访问时,这提供了巨大的好处。

但是我想知道为什么没有选择将其实现为圆形数组。对于索引随机访问并附加到列表的末尾,此实现将具有相同的O(1)性能。但这将提供其他好处,例如允许O(1)进行前置操作(即在列表的前面插入新元素),并且平均将随机插入和删除所需的时间减半。

到目前为止的一些答案摘要

如@Hachet所指出的,为了使圆形数组实现具有与相似的索引性能,System.Collections.Generic.List<T>将要求它必须始终增长到2的幂的容量(以便廉价的模运算可以执行)。这将意味着无法像当前构建列表实例那样将其大小调整为用户提供的准确初始容量。因此,这是一个明显的权衡问题。

而且,正如一些快速而肮脏的性能测试所表明的那样,对于圆形数组实现,索引编制可能会慢2-5倍。

由于索引是一个明显的优先事项,我可以想象这会付出太大的代价,而在前置操作中要获得更好的性能,而在随机插入/删除操作中要获得更好的性能。

这是重复的,带有一些补充答案信息

这个问题确实与为什么典型的数组列表实现不是双端的有关?,我在发布问题之前没有发现。我猜没有以完全令人满意的方式回答:

我还没有做过任何基准测试,但是在我看来,还有其他瓶颈(例如,非本地负载/存储)会大大超过此瓶颈。如果我没有听到更令人信服的消息,我可能会接受,谢谢。– Mehrdad '11 May 27'4:18

关于此问题的答案提供了有关如何使循环列表建立索引以使其表现良好的其他信息,包括代码示例以及使权衡决策变得更加清晰的一些定量数字。这样,它们提供的信息与另一个问题中提供的信息互补。因此,我同意这个问题的意图几乎是相同的,因此,我同意应将其视为重复。但是,如果现在附带的新信息丢失了,那将是一种耻辱。

另外,我仍然对实施选择的潜在其他原因感兴趣,而这两个问题的答案中可能还没有这些原因。

.net c# list arraylist data-structures

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

Linq查询删除包含特定匹配编号的所有数据

我有数据保存在我的数据库中,其中包含一个pointNumber字段int.

我有一个kendo网格,当我点击"删除"按钮时,我希望能够删除pointNumber我的数据库中该pointNumber行与该行匹配的行.

到目前为止,我尝试这样的事情:

public ActionResult Delete(PlanningViewParam data)
{
    List<PointData> Points = UserSession.GetValue(
        StateNameEnum.Planning, 
        ScreenName.Planning.ToString() + "Points" + data.ViewType,
        UserSessionMode.Database) as List<PointData>;

    int Number = 1;
    Number = data.Number;

    PointData point = Points.Where( a=> a.pointNumber == Number);
    if (point != null)
    {
       Points.Remove(point);
    }
}
Run Code Online (Sandbox Code Playgroud)

我坚持的部分是这个LINQ查询:

PointData point = Points.Where(a => a.pointNumber == Number);
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

无法将类型'System.Collections.Generic.IEnumerable'隐式转换为'PointData'.存在显式转换(您是否错过了演员表)?

这是什么意思,我如何调整我的查询?

c# linq

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

将文件内容读入数组

我有这个代码

private void button1_Click(object sender, EventArgs e)
{
    Stream myStream;

    OpenFileDialog openFileDialog1 = new OpenFileDialog();

    openFileDialog1.Filter = "Text Files (.txt)|*.txt|All Files (*.*)|*.*";
    openFileDialog1.FilterIndex = 1;
    openFileDialog1.Multiselect = true;

    if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        if ((myStream = openFileDialog1.OpenFile()) != null)
        {
            string strfilename = openFileDialog1.FileName;
            string filetext = File.ReadAllText(strfilename);

            richTextBox3.Text = filetext; // reads all text into one text box
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在努力如何将文本文件的每一行放到不同的文本框或可能将它存储在一个数组中,有人可以帮忙吗!

c# text openfiledialog

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

无法从“ MongoDB.Driver.IMongoCollection &lt;&gt;”转换为“ System.Collections.Generic.IEnumerable &lt;&gt;”

我将Mongodb驱动程序升级到了最新的2.0版本,而我的应用程序过去无法正常工作,并出现以下错误:

无法从“ MongoDB.Driver.IMongoCollection <>”转换为“ System.Collections.Generic.IEnumerable <>”

源代码如下:

public IQueryable<Registration> Registrations
{
    get 
    { 
        return db
            .GetCollection<Registration>("Registrations")
            .AsQueryable<Registration>(); 
    }
}
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这个问题?

c# mongodb

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

Array.Sort()成新的数组?

我正在使用Array.Sort()按升序排序的双精度数组.然后在某些情况下我会Reverse()改变顺序.但理想情况下,我想保留原始阵列.对于输出到新数组而不是对现有数组进行排序的数组,C#是否有简单的本机排序?

c#

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