可能的重复:
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
#include<stdio.h>
int main()
{
static int x;
if(x == 10)
printf("\n thanks...");
x++;
return (x=main());
}
Run Code Online (Sandbox Code Playgroud)
在运行程序时,它会卡在输出上:
谢谢...
这里有什么问题?
我试图获取可执行文件在内存中运行的位置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) 这是我的代码:
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) 我N在excel电子表格上有行(可能不低于1000行).在这张表中,我们的项目有150列,如下所示:

现在,我们的应用程序需要从GUI工作表上的excel文件表中复制(使用正常Ctrl+C)和粘贴(使用Ctrl+V)数据.我通过使用Divide and Conquer或其他一些机制增加了.目前我还不确定如何解决这个问题.以下是我的代码的部分内容:
上面的代码被称为行方式,如下所示:
请知道我的问题需要比代码优化更多的算法解决方案,但是任何包含代码相关优化的答案也将受到赞赏.(标记为Linq因为虽然没有看到我在我的代码的某些部分使用了linq).
我有这个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) 这是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) 我正在尝试运行以下脚本:
这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"> You …Run Code Online (Sandbox Code Playgroud) 一个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存储在内存中那么它的价值是多少?