小编Exp*_*ice的帖子

为什么它给出错误的数组大小

可能的重复:
C 编程语言中数组的大小?

我已经为此工作了很长时间,但似乎无法理解为什么会发生这种情况。

void fun(char []);

void fun(char a[])

{

   printf("Size is %d\n",sizeof(a));

}

int main ()

{

  char arr[10] = { 0 };

  printf("Size is %d\n",sizeof(arr));

  fun(arr);  

  return 0;

}
Run Code Online (Sandbox Code Playgroud)

为什么是输出:

大小为 10

大小为 4

c

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

输出窗口卡在黑屏上

#include<stdio.h>

int main()
{
    static int x;
    if(x == 10)
    printf("\n thanks...");
    x++;
    return (x=main());
}
Run Code Online (Sandbox Code Playgroud)

在运行程序时,它会卡在输出上:

谢谢...

这里有什么问题?

c recursion tail-recursion

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

如何处理文件名

我试图获取可执行文件在内存中运行的位置Application.ExecutablePath并从当前位置删除它,但是我得到了错误The system cannot find the file specified.

据我所知,这是因为路径中的空间.我该如何解决这个问题?这是相关代码:

System.Diagnostics.Process p = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName = @"cmd.exe /C Del " + Path.GetFullPath(Application.ExecutablePath);
p.StartInfo = psi;
p.Start();
Run Code Online (Sandbox Code Playgroud)

c# process c#-4.0

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

即使在实现IEnumerable时也没有显示扩展方法

这是我的代码:

    class myClass : IEnumerable
    {
        public Dictionary<int, string> dctIdName = new Dictionary<int, string>();

        public myClass()
        {
            for (int idx = 0; idx < 100; idx++)
            {
                dctIdName.Add(idx, string.Format("Item{0}", idx));
            }

        }

        // IEnumerable Member
        public IEnumerator GetEnumerator()
        {
            foreach (object o in dctIdName)
            {
                yield return o;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我创建这个类的一个对象,并以这种方式使用它,我没有得到LINQ扩展方法一样Where,Count等等.

myClass obj = new myClass();
var d = obj.Where( x => x.Key == 10); //<-- Error here
Run Code Online (Sandbox Code Playgroud)

我包含的名称空间是:

using System;
using System.Collections;
using System.Collections.Generic; …
Run Code Online (Sandbox Code Playgroud)

.net c# linq

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

C的主要缺陷

C语言的主要缺陷是什么?如何在采访中回答这个问题?我的意思是C Lack现在与新语言比较了什么?

c language-design

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

改善行数据

N在excel电子表格上有行(可能不低于1000行).在这张表中,我们的项目有150列,如下所示:

在此输入图像描述

现在,我们的应用程序需要从GUI工作表上的excel文件表中复制(使用正常Ctrl+C)和粘贴(使用Ctrl+V)数据.我通过使用Divide and Conquer或其他一些机制增加了.目前我还不确定如何解决这个问题.以下是我的代码的部分内容:

上面的代码被称为行方式,如下所示:

请知道我的问题需要比代码优化更多的算法解决方案,但是任何包含代码相关优化的答案也将受到赞赏.(标记为Linq因为虽然没有看到我在我的代码的某些部分使用了linq).

c# algorithm

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

如何确保一次只有一个线程可以访问DataTable

我有这个Windows控制台应用程序:

using System;
using System.Text;

namespace ThreadLockSample
{
    class Program
    {
        static void P1(System.Data.DataTable dt)
        {

            for (int i = 0; i < 100000; i++)
            {
                dt.Rows.Add(i);
            }
        }
        static void P2(System.Data.DataTable dt)
        {

            for (int i = 100000; i < 200000; i++)
            {
                dt.Rows.Add(i);
            }
        }

        static void Main(string[] args)
        {
            System.Data.DataTable dt = new System.Data.DataTable();
            for (int i = 0; i < 200; i++)
                dt.Columns.Add("Id " + i);

            System.Threading.Thread t1 = new System.Threading.Thread(() => P1(dt));
            System.Threading.Thread t2 = …
Run Code Online (Sandbox Code Playgroud)

.net c# console-application

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

异步方法在同一个线程上运行,没有时间延迟

这是AsyncMethods类看起来像:

public class AsyncMethods
{
    public static async Task<double> GetdoubleAsync()
    {
        Console.WriteLine("Thread.CurrentThread.ManagedThreadId: " + Thread.CurrentThread.ManagedThreadId);
        await Task.Delay(1000);
        return 80d;
    }
    public static async Task<string> GetStringAsync()
    {
        Console.WriteLine("Thread.CurrentThread.ManagedThreadId: " + Thread.CurrentThread.ManagedThreadId);
        await Task.Delay(1000);
        return "async";
    }
    public static async Task<DateTime> GetDateTimeAsync()
    {
        Console.WriteLine("Thread.CurrentThread.ManagedThreadId: " + Thread.CurrentThread.ManagedThreadId);
        await Task.Delay(1000);
        return DateTime.Now;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的主要方法:

static void Main(string[] args)
{
    while (Console.ReadLine() != "exit")
    {
        Console.WriteLine("Thread.CurrentThread.ManagedThreadId: " + Thread.CurrentThread.ManagedThreadId);
        DateTime dt = DateTime.Now;
        var res = GetStuffAsync().Result;
        var ts = DateTime.Now …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading async-await

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

获取登录用户的用户名

我正在尝试运行以下脚本:

LoginName1是一个System.Web.UI.WebControls.LoginName.该LoginName1显示在网页就好的用户名.但它似乎不起作用.我哪里错了?

这是完整的代码[最新]:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site1.master" AutoEventWireup="true"
    CodeBehind="~/Default.aspx.cs" Inherits="memberlogin.Default" %>


<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script runat="server" >
    public void redirect()
    {// I have removed previous content - it JUST WONT REDIRECT THE PAGE
        //String loginame = System.Web.HttpContext.Current.User.Identity.Name;
        //if (loginame == "usertest")
        Response.Redirect( "Default.aspx");   
       }
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent" >
    <h1>
        <span class="input">Welcome to the members-only page.</span>
    </h1>
    <h2>
        Start Client Side Application.
    </h2>
                        <asp:LoginView ID="LoginView1" runat="server">
                <AnonymousTemplate>
                    <span class="input">&nbsp;You …
Run Code Online (Sandbox Code Playgroud)

c# asp.net c#-4.0

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

0到128之间的差异

一个signed integer(使用8位)---范围==> -128 to 127.

如果我们考虑2的补语表示:

10000000 =128/(-0) [ Since its 2's Complement is 10000000 ]
Run Code Online (Sandbox Code Playgroud)

所以在某种程度上它是negative零.

现在对于一个signed整数,128是1000 00002和2的补码也是1000 0000,所以我们不能0使用这种表示形式的[在负面形式] 的副本吗?或者我错过了什么?

抱歉打字错误.是的范围是 -128 to 127.

但是8位可以在内存中表示这个数字10000000.如果这个数字CAN存储在内存中那么它的价值是多少?

c c++ computer-architecture

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